
/**
 * Tencent is pleased to support the open source community by making MSEC available.
 *
 * Copyright (C) 2016 THL A29 Limited, a Tencent company. All rights reserved.
 *
 * Licensed under the GNU General Public License, Version 2.0 (the "License"); 
 * you may not use this file except in compliance with the License. You may 
 * obtain a copy of the License at
 *
 *     https://opensource.org/licenses/GPL-2.0
 *
 * Unless required by applicable law or agreed to in writing, software distributed under the 
 * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
 * either express or implied. See the License for the specific language governing permissions
 * and limitations under the License.
 */


// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: monitor.proto

package msec.monitor;

public final class Monitor {
  private Monitor() {}
  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistry registry) {
  }
  /**
   * Protobuf enum {@code msec.monitor.AlarmType}
   */
  public enum AlarmType
      implements com.google.protobuf.ProtocolMessageEnum {
    /**
     * <code>ALARM_MAX = 1;</code>
     */
    ALARM_MAX(0, 1),
    /**
     * <code>ALARM_MIN = 2;</code>
     */
    ALARM_MIN(1, 2),
    /**
     * <code>ALARM_DIFF = 3;</code>
     */
    ALARM_DIFF(2, 3),
    /**
     * <code>ALARM_DIFF_PERCENT = 4;</code>
     */
    ALARM_DIFF_PERCENT(3, 4),
    ;

    /**
     * <code>ALARM_MAX = 1;</code>
     */
    public static final int ALARM_MAX_VALUE = 1;
    /**
     * <code>ALARM_MIN = 2;</code>
     */
    public static final int ALARM_MIN_VALUE = 2;
    /**
     * <code>ALARM_DIFF = 3;</code>
     */
    public static final int ALARM_DIFF_VALUE = 3;
    /**
     * <code>ALARM_DIFF_PERCENT = 4;</code>
     */
    public static final int ALARM_DIFF_PERCENT_VALUE = 4;


    public final int getNumber() { return value; }

    public static AlarmType valueOf(int value) {
      switch (value) {
        case 1: return ALARM_MAX;
        case 2: return ALARM_MIN;
        case 3: return ALARM_DIFF;
        case 4: return ALARM_DIFF_PERCENT;
        default: return null;
      }
    }

    public static com.google.protobuf.Internal.EnumLiteMap<AlarmType>
        internalGetValueMap() {
      return internalValueMap;
    }
    private static com.google.protobuf.Internal.EnumLiteMap<AlarmType>
        internalValueMap =
          new com.google.protobuf.Internal.EnumLiteMap<AlarmType>() {
            public AlarmType findValueByNumber(int number) {
              return AlarmType.valueOf(number);
            }
          };

    public final com.google.protobuf.Descriptors.EnumValueDescriptor
        getValueDescriptor() {
      return getDescriptor().getValues().get(index);
    }
    public final com.google.protobuf.Descriptors.EnumDescriptor
        getDescriptorForType() {
      return getDescriptor();
    }
    public static final com.google.protobuf.Descriptors.EnumDescriptor
        getDescriptor() {
      return msec.monitor.Monitor.getDescriptor().getEnumTypes().get(0);
    }

    private static final AlarmType[] VALUES = values();

    public static AlarmType valueOf(
        com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
      if (desc.getType() != getDescriptor()) {
        throw new java.lang.IllegalArgumentException(
          "EnumValueDescriptor is not for this type.");
      }
      return VALUES[desc.getIndex()];
    }

    private final int index;
    private final int value;

    private AlarmType(int index, int value) {
      this.index = index;
      this.value = value;
    }

    // @@protoc_insertion_point(enum_scope:msec.monitor.AlarmType)
  }

  public interface AttrOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional string servicename = 1;
    /**
     * <code>optional string servicename = 1;</code>
     */
    boolean hasServicename();
    /**
     * <code>optional string servicename = 1;</code>
     */
    java.lang.String getServicename();
    /**
     * <code>optional string servicename = 1;</code>
     */
    com.google.protobuf.ByteString
        getServicenameBytes();

    // optional string attrname = 2;
    /**
     * <code>optional string attrname = 2;</code>
     */
    boolean hasAttrname();
    /**
     * <code>optional string attrname = 2;</code>
     */
    java.lang.String getAttrname();
    /**
     * <code>optional string attrname = 2;</code>
     */
    com.google.protobuf.ByteString
        getAttrnameBytes();

    // repeated uint32 values = 3;
    /**
     * <code>repeated uint32 values = 3;</code>
     */
    java.util.List<java.lang.Integer> getValuesList();
    /**
     * <code>repeated uint32 values = 3;</code>
     */
    int getValuesCount();
    /**
     * <code>repeated uint32 values = 3;</code>
     */
    int getValues(int index);

    // optional uint32 begin_time = 4;
    /**
     * <code>optional uint32 begin_time = 4;</code>
     *
     * <pre>
     *上报开始时间
     * </pre>
     */
    boolean hasBeginTime();
    /**
     * <code>optional uint32 begin_time = 4;</code>
     *
     * <pre>
     *上报开始时间
     * </pre>
     */
    int getBeginTime();

    // optional uint32 end_time = 5;
    /**
     * <code>optional uint32 end_time = 5;</code>
     *
     * <pre>
     *上报结束时间
     * </pre>
     */
    boolean hasEndTime();
    /**
     * <code>optional uint32 end_time = 5;</code>
     *
     * <pre>
     *上报结束时间
     * </pre>
     */
    int getEndTime();
  }
  /**
   * Protobuf type {@code msec.monitor.Attr}
   *
   * <pre>
   *set function
   * </pre>
   */
  public static final class Attr extends
      com.google.protobuf.GeneratedMessage
      implements AttrOrBuilder {
    // Use Attr.newBuilder() to construct.
    private Attr(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private Attr(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final Attr defaultInstance;
    public static Attr getDefaultInstance() {
      return defaultInstance;
    }

    public Attr getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private Attr(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              bitField0_ |= 0x00000001;
              servicename_ = input.readBytes();
              break;
            }
            case 18: {
              bitField0_ |= 0x00000002;
              attrname_ = input.readBytes();
              break;
            }
            case 24: {
              if (!((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
                values_ = new java.util.ArrayList<java.lang.Integer>();
                mutable_bitField0_ |= 0x00000004;
              }
              values_.add(input.readUInt32());
              break;
            }
            case 26: {
              int length = input.readRawVarint32();
              int limit = input.pushLimit(length);
              if (!((mutable_bitField0_ & 0x00000004) == 0x00000004) && input.getBytesUntilLimit() > 0) {
                values_ = new java.util.ArrayList<java.lang.Integer>();
                mutable_bitField0_ |= 0x00000004;
              }
              while (input.getBytesUntilLimit() > 0) {
                values_.add(input.readUInt32());
              }
              input.popLimit(limit);
              break;
            }
            case 32: {
              bitField0_ |= 0x00000004;
              beginTime_ = input.readUInt32();
              break;
            }
            case 40: {
              bitField0_ |= 0x00000008;
              endTime_ = input.readUInt32();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
          values_ = java.util.Collections.unmodifiableList(values_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return msec.monitor.Monitor.internal_static_msec_monitor_Attr_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return msec.monitor.Monitor.internal_static_msec_monitor_Attr_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              msec.monitor.Monitor.Attr.class, msec.monitor.Monitor.Attr.Builder.class);
    }

    public static com.google.protobuf.Parser<Attr> PARSER =
        new com.google.protobuf.AbstractParser<Attr>() {
      public Attr parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new Attr(input, extensionRegistry);
      }
    };

    @java.lang.Override
    public com.google.protobuf.Parser<Attr> getParserForType() {
      return PARSER;
    }

    private int bitField0_;
    // optional string servicename = 1;
    public static final int SERVICENAME_FIELD_NUMBER = 1;
    private java.lang.Object servicename_;
    /**
     * <code>optional string servicename = 1;</code>
     */
    public boolean hasServicename() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>optional string servicename = 1;</code>
     */
    public java.lang.String getServicename() {
      java.lang.Object ref = servicename_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          servicename_ = s;
        }
        return s;
      }
    }
    /**
     * <code>optional string servicename = 1;</code>
     */
    public com.google.protobuf.ByteString
        getServicenameBytes() {
      java.lang.Object ref = servicename_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        servicename_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    // optional string attrname = 2;
    public static final int ATTRNAME_FIELD_NUMBER = 2;
    private java.lang.Object attrname_;
    /**
     * <code>optional string attrname = 2;</code>
     */
    public boolean hasAttrname() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * <code>optional string attrname = 2;</code>
     */
    public java.lang.String getAttrname() {
      java.lang.Object ref = attrname_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          attrname_ = s;
        }
        return s;
      }
    }
    /**
     * <code>optional string attrname = 2;</code>
     */
    public com.google.protobuf.ByteString
        getAttrnameBytes() {
      java.lang.Object ref = attrname_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        attrname_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    // repeated uint32 values = 3;
    public static final int VALUES_FIELD_NUMBER = 3;
    private java.util.List<java.lang.Integer> values_;
    /**
     * <code>repeated uint32 values = 3;</code>
     */
    public java.util.List<java.lang.Integer>
        getValuesList() {
      return values_;
    }
    /**
     * <code>repeated uint32 values = 3;</code>
     */
    public int getValuesCount() {
      return values_.size();
    }
    /**
     * <code>repeated uint32 values = 3;</code>
     */
    public int getValues(int index) {
      return values_.get(index);
    }

    // optional uint32 begin_time = 4;
    public static final int BEGIN_TIME_FIELD_NUMBER = 4;
    private int beginTime_;
    /**
     * <code>optional uint32 begin_time = 4;</code>
     *
     * <pre>
     *上报开始时间
     * </pre>
     */
    public boolean hasBeginTime() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * <code>optional uint32 begin_time = 4;</code>
     *
     * <pre>
     *上报开始时间
     * </pre>
     */
    public int getBeginTime() {
      return beginTime_;
    }

    // optional uint32 end_time = 5;
    public static final int END_TIME_FIELD_NUMBER = 5;
    private int endTime_;
    /**
     * <code>optional uint32 end_time = 5;</code>
     *
     * <pre>
     *上报结束时间
     * </pre>
     */
    public boolean hasEndTime() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * <code>optional uint32 end_time = 5;</code>
     *
     * <pre>
     *上报结束时间
     * </pre>
     */
    public int getEndTime() {
      return endTime_;
    }

    private void initFields() {
      servicename_ = "";
      attrname_ = "";
      values_ = java.util.Collections.emptyList();
      beginTime_ = 0;
      endTime_ = 0;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBytes(1, getServicenameBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeBytes(2, getAttrnameBytes());
      }
      for (int i = 0; i < values_.size(); i++) {
        output.writeUInt32(3, values_.get(i));
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeUInt32(4, beginTime_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeUInt32(5, endTime_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(1, getServicenameBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(2, getAttrnameBytes());
      }
      {
        int dataSize = 0;
        for (int i = 0; i < values_.size(); i++) {
          dataSize += com.google.protobuf.CodedOutputStream
            .computeUInt32SizeNoTag(values_.get(i));
        }
        size += dataSize;
        size += 1 * getValuesList().size();
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(4, beginTime_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(5, endTime_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static msec.monitor.Monitor.Attr parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static msec.monitor.Monitor.Attr parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static msec.monitor.Monitor.Attr parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static msec.monitor.Monitor.Attr parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static msec.monitor.Monitor.Attr parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static msec.monitor.Monitor.Attr parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static msec.monitor.Monitor.Attr parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static msec.monitor.Monitor.Attr parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static msec.monitor.Monitor.Attr parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static msec.monitor.Monitor.Attr parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(msec.monitor.Monitor.Attr prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code msec.monitor.Attr}
     *
     * <pre>
     *set function
     * </pre>
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder>
       implements msec.monitor.Monitor.AttrOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return msec.monitor.Monitor.internal_static_msec_monitor_Attr_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return msec.monitor.Monitor.internal_static_msec_monitor_Attr_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                msec.monitor.Monitor.Attr.class, msec.monitor.Monitor.Attr.Builder.class);
      }

      // Construct using msec.monitor.Monitor.Attr.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        servicename_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        attrname_ = "";
        bitField0_ = (bitField0_ & ~0x00000002);
        values_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000004);
        beginTime_ = 0;
        bitField0_ = (bitField0_ & ~0x00000008);
        endTime_ = 0;
        bitField0_ = (bitField0_ & ~0x00000010);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return msec.monitor.Monitor.internal_static_msec_monitor_Attr_descriptor;
      }

      public msec.monitor.Monitor.Attr getDefaultInstanceForType() {
        return msec.monitor.Monitor.Attr.getDefaultInstance();
      }

      public msec.monitor.Monitor.Attr build() {
        msec.monitor.Monitor.Attr result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public msec.monitor.Monitor.Attr buildPartial() {
        msec.monitor.Monitor.Attr result = new msec.monitor.Monitor.Attr(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.servicename_ = servicename_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.attrname_ = attrname_;
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          values_ = java.util.Collections.unmodifiableList(values_);
          bitField0_ = (bitField0_ & ~0x00000004);
        }
        result.values_ = values_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000004;
        }
        result.beginTime_ = beginTime_;
        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
          to_bitField0_ |= 0x00000008;
        }
        result.endTime_ = endTime_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof msec.monitor.Monitor.Attr) {
          return mergeFrom((msec.monitor.Monitor.Attr)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(msec.monitor.Monitor.Attr other) {
        if (other == msec.monitor.Monitor.Attr.getDefaultInstance()) return this;
        if (other.hasServicename()) {
          bitField0_ |= 0x00000001;
          servicename_ = other.servicename_;
          onChanged();
        }
        if (other.hasAttrname()) {
          bitField0_ |= 0x00000002;
          attrname_ = other.attrname_;
          onChanged();
        }
        if (!other.values_.isEmpty()) {
          if (values_.isEmpty()) {
            values_ = other.values_;
            bitField0_ = (bitField0_ & ~0x00000004);
          } else {
            ensureValuesIsMutable();
            values_.addAll(other.values_);
          }
          onChanged();
        }
        if (other.hasBeginTime()) {
          setBeginTime(other.getBeginTime());
        }
        if (other.hasEndTime()) {
          setEndTime(other.getEndTime());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        msec.monitor.Monitor.Attr parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (msec.monitor.Monitor.Attr) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional string servicename = 1;
      private java.lang.Object servicename_ = "";
      /**
       * <code>optional string servicename = 1;</code>
       */
      public boolean hasServicename() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>optional string servicename = 1;</code>
       */
      public java.lang.String getServicename() {
        java.lang.Object ref = servicename_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          servicename_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>optional string servicename = 1;</code>
       */
      public com.google.protobuf.ByteString
          getServicenameBytes() {
        java.lang.Object ref = servicename_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          servicename_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>optional string servicename = 1;</code>
       */
      public Builder setServicename(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        servicename_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional string servicename = 1;</code>
       */
      public Builder clearServicename() {
        bitField0_ = (bitField0_ & ~0x00000001);
        servicename_ = getDefaultInstance().getServicename();
        onChanged();
        return this;
      }
      /**
       * <code>optional string servicename = 1;</code>
       */
      public Builder setServicenameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        servicename_ = value;
        onChanged();
        return this;
      }

      // optional string attrname = 2;
      private java.lang.Object attrname_ = "";
      /**
       * <code>optional string attrname = 2;</code>
       */
      public boolean hasAttrname() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>optional string attrname = 2;</code>
       */
      public java.lang.String getAttrname() {
        java.lang.Object ref = attrname_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          attrname_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>optional string attrname = 2;</code>
       */
      public com.google.protobuf.ByteString
          getAttrnameBytes() {
        java.lang.Object ref = attrname_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          attrname_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>optional string attrname = 2;</code>
       */
      public Builder setAttrname(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        attrname_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional string attrname = 2;</code>
       */
      public Builder clearAttrname() {
        bitField0_ = (bitField0_ & ~0x00000002);
        attrname_ = getDefaultInstance().getAttrname();
        onChanged();
        return this;
      }
      /**
       * <code>optional string attrname = 2;</code>
       */
      public Builder setAttrnameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        attrname_ = value;
        onChanged();
        return this;
      }

      // repeated uint32 values = 3;
      private java.util.List<java.lang.Integer> values_ = java.util.Collections.emptyList();
      private void ensureValuesIsMutable() {
        if (!((bitField0_ & 0x00000004) == 0x00000004)) {
          values_ = new java.util.ArrayList<java.lang.Integer>(values_);
          bitField0_ |= 0x00000004;
         }
      }
      /**
       * <code>repeated uint32 values = 3;</code>
       */
      public java.util.List<java.lang.Integer>
          getValuesList() {
        return java.util.Collections.unmodifiableList(values_);
      }
      /**
       * <code>repeated uint32 values = 3;</code>
       */
      public int getValuesCount() {
        return values_.size();
      }
      /**
       * <code>repeated uint32 values = 3;</code>
       */
      public int getValues(int index) {
        return values_.get(index);
      }
      /**
       * <code>repeated uint32 values = 3;</code>
       */
      public Builder setValues(
          int index, int value) {
        ensureValuesIsMutable();
        values_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated uint32 values = 3;</code>
       */
      public Builder addValues(int value) {
        ensureValuesIsMutable();
        values_.add(value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated uint32 values = 3;</code>
       */
      public Builder addAllValues(
          java.lang.Iterable<? extends java.lang.Integer> values) {
        ensureValuesIsMutable();
        super.addAll(values, values_);
        onChanged();
        return this;
      }
      /**
       * <code>repeated uint32 values = 3;</code>
       */
      public Builder clearValues() {
        values_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000004);
        onChanged();
        return this;
      }

      // optional uint32 begin_time = 4;
      private int beginTime_ ;
      /**
       * <code>optional uint32 begin_time = 4;</code>
       *
       * <pre>
       *上报开始时间
       * </pre>
       */
      public boolean hasBeginTime() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * <code>optional uint32 begin_time = 4;</code>
       *
       * <pre>
       *上报开始时间
       * </pre>
       */
      public int getBeginTime() {
        return beginTime_;
      }
      /**
       * <code>optional uint32 begin_time = 4;</code>
       *
       * <pre>
       *上报开始时间
       * </pre>
       */
      public Builder setBeginTime(int value) {
        bitField0_ |= 0x00000008;
        beginTime_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional uint32 begin_time = 4;</code>
       *
       * <pre>
       *上报开始时间
       * </pre>
       */
      public Builder clearBeginTime() {
        bitField0_ = (bitField0_ & ~0x00000008);
        beginTime_ = 0;
        onChanged();
        return this;
      }

      // optional uint32 end_time = 5;
      private int endTime_ ;
      /**
       * <code>optional uint32 end_time = 5;</code>
       *
       * <pre>
       *上报结束时间
       * </pre>
       */
      public boolean hasEndTime() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      /**
       * <code>optional uint32 end_time = 5;</code>
       *
       * <pre>
       *上报结束时间
       * </pre>
       */
      public int getEndTime() {
        return endTime_;
      }
      /**
       * <code>optional uint32 end_time = 5;</code>
       *
       * <pre>
       *上报结束时间
       * </pre>
       */
      public Builder setEndTime(int value) {
        bitField0_ |= 0x00000010;
        endTime_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional uint32 end_time = 5;</code>
       *
       * <pre>
       *上报结束时间
       * </pre>
       */
      public Builder clearEndTime() {
        bitField0_ = (bitField0_ & ~0x00000010);
        endTime_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:msec.monitor.Attr)
    }

    static {
      defaultInstance = new Attr(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:msec.monitor.Attr)
  }

  public interface ReqReportOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // repeated .msec.monitor.Attr attrs = 1;
    /**
     * <code>repeated .msec.monitor.Attr attrs = 1;</code>
     */
    java.util.List<msec.monitor.Monitor.Attr>
        getAttrsList();
    /**
     * <code>repeated .msec.monitor.Attr attrs = 1;</code>
     */
    msec.monitor.Monitor.Attr getAttrs(int index);
    /**
     * <code>repeated .msec.monitor.Attr attrs = 1;</code>
     */
    int getAttrsCount();
    /**
     * <code>repeated .msec.monitor.Attr attrs = 1;</code>
     */
    java.util.List<? extends msec.monitor.Monitor.AttrOrBuilder>
        getAttrsOrBuilderList();
    /**
     * <code>repeated .msec.monitor.Attr attrs = 1;</code>
     */
    msec.monitor.Monitor.AttrOrBuilder getAttrsOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code msec.monitor.ReqReport}
   *
   * <pre>
   *上报协议
   * </pre>
   */
  public static final class ReqReport extends
      com.google.protobuf.GeneratedMessage
      implements ReqReportOrBuilder {
    // Use ReqReport.newBuilder() to construct.
    private ReqReport(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private ReqReport(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final ReqReport defaultInstance;
    public static ReqReport getDefaultInstance() {
      return defaultInstance;
    }

    public ReqReport getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private ReqReport(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
                attrs_ = new java.util.ArrayList<msec.monitor.Monitor.Attr>();
                mutable_bitField0_ |= 0x00000001;
              }
              attrs_.add(input.readMessage(msec.monitor.Monitor.Attr.PARSER, extensionRegistry));
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
          attrs_ = java.util.Collections.unmodifiableList(attrs_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return msec.monitor.Monitor.internal_static_msec_monitor_ReqReport_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return msec.monitor.Monitor.internal_static_msec_monitor_ReqReport_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              msec.monitor.Monitor.ReqReport.class, msec.monitor.Monitor.ReqReport.Builder.class);
    }

    public static com.google.protobuf.Parser<ReqReport> PARSER =
        new com.google.protobuf.AbstractParser<ReqReport>() {
      public ReqReport parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new ReqReport(input, extensionRegistry);
      }
    };

    @java.lang.Override
    public com.google.protobuf.Parser<ReqReport> getParserForType() {
      return PARSER;
    }

    // repeated .msec.monitor.Attr attrs = 1;
    public static final int ATTRS_FIELD_NUMBER = 1;
    private java.util.List<msec.monitor.Monitor.Attr> attrs_;
    /**
     * <code>repeated .msec.monitor.Attr attrs = 1;</code>
     */
    public java.util.List<msec.monitor.Monitor.Attr> getAttrsList() {
      return attrs_;
    }
    /**
     * <code>repeated .msec.monitor.Attr attrs = 1;</code>
     */
    public java.util.List<? extends msec.monitor.Monitor.AttrOrBuilder>
        getAttrsOrBuilderList() {
      return attrs_;
    }
    /**
     * <code>repeated .msec.monitor.Attr attrs = 1;</code>
     */
    public int getAttrsCount() {
      return attrs_.size();
    }
    /**
     * <code>repeated .msec.monitor.Attr attrs = 1;</code>
     */
    public msec.monitor.Monitor.Attr getAttrs(int index) {
      return attrs_.get(index);
    }
    /**
     * <code>repeated .msec.monitor.Attr attrs = 1;</code>
     */
    public msec.monitor.Monitor.AttrOrBuilder getAttrsOrBuilder(
        int index) {
      return attrs_.get(index);
    }

    private void initFields() {
      attrs_ = java.util.Collections.emptyList();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      for (int i = 0; i < attrs_.size(); i++) {
        output.writeMessage(1, attrs_.get(i));
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      for (int i = 0; i < attrs_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, attrs_.get(i));
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static msec.monitor.Monitor.ReqReport parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static msec.monitor.Monitor.ReqReport parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static msec.monitor.Monitor.ReqReport parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static msec.monitor.Monitor.ReqReport parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static msec.monitor.Monitor.ReqReport parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static msec.monitor.Monitor.ReqReport parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static msec.monitor.Monitor.ReqReport parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static msec.monitor.Monitor.ReqReport parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static msec.monitor.Monitor.ReqReport parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static msec.monitor.Monitor.ReqReport parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(msec.monitor.Monitor.ReqReport prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code msec.monitor.ReqReport}
     *
     * <pre>
     *上报协议
     * </pre>
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder>
       implements msec.monitor.Monitor.ReqReportOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return msec.monitor.Monitor.internal_static_msec_monitor_ReqReport_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return msec.monitor.Monitor.internal_static_msec_monitor_ReqReport_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                msec.monitor.Monitor.ReqReport.class, msec.monitor.Monitor.ReqReport.Builder.class);
      }

      // Construct using msec.monitor.Monitor.ReqReport.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getAttrsFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        if (attrsBuilder_ == null) {
          attrs_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
        } else {
          attrsBuilder_.clear();
        }
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return msec.monitor.Monitor.internal_static_msec_monitor_ReqReport_descriptor;
      }

      public msec.monitor.Monitor.ReqReport getDefaultInstanceForType() {
        return msec.monitor.Monitor.ReqReport.getDefaultInstance();
      }

      public msec.monitor.Monitor.ReqReport build() {
        msec.monitor.Monitor.ReqReport result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public msec.monitor.Monitor.ReqReport buildPartial() {
        msec.monitor.Monitor.ReqReport result = new msec.monitor.Monitor.ReqReport(this);
        int from_bitField0_ = bitField0_;
        if (attrsBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001)) {
            attrs_ = java.util.Collections.unmodifiableList(attrs_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.attrs_ = attrs_;
        } else {
          result.attrs_ = attrsBuilder_.build();
        }
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof msec.monitor.Monitor.ReqReport) {
          return mergeFrom((msec.monitor.Monitor.ReqReport)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(msec.monitor.Monitor.ReqReport other) {
        if (other == msec.monitor.Monitor.ReqReport.getDefaultInstance()) return this;
        if (attrsBuilder_ == null) {
          if (!other.attrs_.isEmpty()) {
            if (attrs_.isEmpty()) {
              attrs_ = other.attrs_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureAttrsIsMutable();
              attrs_.addAll(other.attrs_);
            }
            onChanged();
          }
        } else {
          if (!other.attrs_.isEmpty()) {
            if (attrsBuilder_.isEmpty()) {
              attrsBuilder_.dispose();
              attrsBuilder_ = null;
              attrs_ = other.attrs_;
              bitField0_ = (bitField0_ & ~0x00000001);
              attrsBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getAttrsFieldBuilder() : null;
            } else {
              attrsBuilder_.addAllMessages(other.attrs_);
            }
          }
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        msec.monitor.Monitor.ReqReport parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (msec.monitor.Monitor.ReqReport) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // repeated .msec.monitor.Attr attrs = 1;
      private java.util.List<msec.monitor.Monitor.Attr> attrs_ =
        java.util.Collections.emptyList();
      private void ensureAttrsIsMutable() {
        if (!((bitField0_ & 0x00000001) == 0x00000001)) {
          attrs_ = new java.util.ArrayList<msec.monitor.Monitor.Attr>(attrs_);
          bitField0_ |= 0x00000001;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilder<
          msec.monitor.Monitor.Attr, msec.monitor.Monitor.Attr.Builder, msec.monitor.Monitor.AttrOrBuilder> attrsBuilder_;

      /**
       * <code>repeated .msec.monitor.Attr attrs = 1;</code>
       */
      public java.util.List<msec.monitor.Monitor.Attr> getAttrsList() {
        if (attrsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(attrs_);
        } else {
          return attrsBuilder_.getMessageList();
        }
      }
      /**
       * <code>repeated .msec.monitor.Attr attrs = 1;</code>
       */
      public int getAttrsCount() {
        if (attrsBuilder_ == null) {
          return attrs_.size();
        } else {
          return attrsBuilder_.getCount();
        }
      }
      /**
       * <code>repeated .msec.monitor.Attr attrs = 1;</code>
       */
      public msec.monitor.Monitor.Attr getAttrs(int index) {
        if (attrsBuilder_ == null) {
          return attrs_.get(index);
        } else {
          return attrsBuilder_.getMessage(index);
        }
      }
      /**
       * <code>repeated .msec.monitor.Attr attrs = 1;</code>
       */
      public Builder setAttrs(
          int index, msec.monitor.Monitor.Attr value) {
        if (attrsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureAttrsIsMutable();
          attrs_.set(index, value);
          onChanged();
        } else {
          attrsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.Attr attrs = 1;</code>
       */
      public Builder setAttrs(
          int index, msec.monitor.Monitor.Attr.Builder builderForValue) {
        if (attrsBuilder_ == null) {
          ensureAttrsIsMutable();
          attrs_.set(index, builderForValue.build());
          onChanged();
        } else {
          attrsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.Attr attrs = 1;</code>
       */
      public Builder addAttrs(msec.monitor.Monitor.Attr value) {
        if (attrsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureAttrsIsMutable();
          attrs_.add(value);
          onChanged();
        } else {
          attrsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.Attr attrs = 1;</code>
       */
      public Builder addAttrs(
          int index, msec.monitor.Monitor.Attr value) {
        if (attrsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureAttrsIsMutable();
          attrs_.add(index, value);
          onChanged();
        } else {
          attrsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.Attr attrs = 1;</code>
       */
      public Builder addAttrs(
          msec.monitor.Monitor.Attr.Builder builderForValue) {
        if (attrsBuilder_ == null) {
          ensureAttrsIsMutable();
          attrs_.add(builderForValue.build());
          onChanged();
        } else {
          attrsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.Attr attrs = 1;</code>
       */
      public Builder addAttrs(
          int index, msec.monitor.Monitor.Attr.Builder builderForValue) {
        if (attrsBuilder_ == null) {
          ensureAttrsIsMutable();
          attrs_.add(index, builderForValue.build());
          onChanged();
        } else {
          attrsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.Attr attrs = 1;</code>
       */
      public Builder addAllAttrs(
          java.lang.Iterable<? extends msec.monitor.Monitor.Attr> values) {
        if (attrsBuilder_ == null) {
          ensureAttrsIsMutable();
          super.addAll(values, attrs_);
          onChanged();
        } else {
          attrsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.Attr attrs = 1;</code>
       */
      public Builder clearAttrs() {
        if (attrsBuilder_ == null) {
          attrs_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          attrsBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.Attr attrs = 1;</code>
       */
      public Builder removeAttrs(int index) {
        if (attrsBuilder_ == null) {
          ensureAttrsIsMutable();
          attrs_.remove(index);
          onChanged();
        } else {
          attrsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.Attr attrs = 1;</code>
       */
      public msec.monitor.Monitor.Attr.Builder getAttrsBuilder(
          int index) {
        return getAttrsFieldBuilder().getBuilder(index);
      }
      /**
       * <code>repeated .msec.monitor.Attr attrs = 1;</code>
       */
      public msec.monitor.Monitor.AttrOrBuilder getAttrsOrBuilder(
          int index) {
        if (attrsBuilder_ == null) {
          return attrs_.get(index);  } else {
          return attrsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <code>repeated .msec.monitor.Attr attrs = 1;</code>
       */
      public java.util.List<? extends msec.monitor.Monitor.AttrOrBuilder>
           getAttrsOrBuilderList() {
        if (attrsBuilder_ != null) {
          return attrsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(attrs_);
        }
      }
      /**
       * <code>repeated .msec.monitor.Attr attrs = 1;</code>
       */
      public msec.monitor.Monitor.Attr.Builder addAttrsBuilder() {
        return getAttrsFieldBuilder().addBuilder(
            msec.monitor.Monitor.Attr.getDefaultInstance());
      }
      /**
       * <code>repeated .msec.monitor.Attr attrs = 1;</code>
       */
      public msec.monitor.Monitor.Attr.Builder addAttrsBuilder(
          int index) {
        return getAttrsFieldBuilder().addBuilder(
            index, msec.monitor.Monitor.Attr.getDefaultInstance());
      }
      /**
       * <code>repeated .msec.monitor.Attr attrs = 1;</code>
       */
      public java.util.List<msec.monitor.Monitor.Attr.Builder>
           getAttrsBuilderList() {
        return getAttrsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          msec.monitor.Monitor.Attr, msec.monitor.Monitor.Attr.Builder, msec.monitor.Monitor.AttrOrBuilder>
          getAttrsFieldBuilder() {
        if (attrsBuilder_ == null) {
          attrsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              msec.monitor.Monitor.Attr, msec.monitor.Monitor.Attr.Builder, msec.monitor.Monitor.AttrOrBuilder>(
                  attrs_,
                  ((bitField0_ & 0x00000001) == 0x00000001),
                  getParentForChildren(),
                  isClean());
          attrs_ = null;
        }
        return attrsBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:msec.monitor.ReqReport)
    }

    static {
      defaultInstance = new ReqReport(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:msec.monitor.ReqReport)
  }

  public interface RespReportOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional uint32 result = 1;
    /**
     * <code>optional uint32 result = 1;</code>
     *
     * <pre>
     *0，正常；其余，失败返回码。
     * </pre>
     */
    boolean hasResult();
    /**
     * <code>optional uint32 result = 1;</code>
     *
     * <pre>
     *0，正常；其余，失败返回码。
     * </pre>
     */
    int getResult();
  }
  /**
   * Protobuf type {@code msec.monitor.RespReport}
   */
  public static final class RespReport extends
      com.google.protobuf.GeneratedMessage
      implements RespReportOrBuilder {
    // Use RespReport.newBuilder() to construct.
    private RespReport(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private RespReport(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final RespReport defaultInstance;
    public static RespReport getDefaultInstance() {
      return defaultInstance;
    }

    public RespReport getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private RespReport(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              result_ = input.readUInt32();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return msec.monitor.Monitor.internal_static_msec_monitor_RespReport_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return msec.monitor.Monitor.internal_static_msec_monitor_RespReport_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              msec.monitor.Monitor.RespReport.class, msec.monitor.Monitor.RespReport.Builder.class);
    }

    public static com.google.protobuf.Parser<RespReport> PARSER =
        new com.google.protobuf.AbstractParser<RespReport>() {
      public RespReport parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new RespReport(input, extensionRegistry);
      }
    };

    @java.lang.Override
    public com.google.protobuf.Parser<RespReport> getParserForType() {
      return PARSER;
    }

    private int bitField0_;
    // optional uint32 result = 1;
    public static final int RESULT_FIELD_NUMBER = 1;
    private int result_;
    /**
     * <code>optional uint32 result = 1;</code>
     *
     * <pre>
     *0，正常；其余，失败返回码。
     * </pre>
     */
    public boolean hasResult() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>optional uint32 result = 1;</code>
     *
     * <pre>
     *0，正常；其余，失败返回码。
     * </pre>
     */
    public int getResult() {
      return result_;
    }

    private void initFields() {
      result_ = 0;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeUInt32(1, result_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(1, result_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static msec.monitor.Monitor.RespReport parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static msec.monitor.Monitor.RespReport parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static msec.monitor.Monitor.RespReport parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static msec.monitor.Monitor.RespReport parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static msec.monitor.Monitor.RespReport parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static msec.monitor.Monitor.RespReport parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static msec.monitor.Monitor.RespReport parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static msec.monitor.Monitor.RespReport parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static msec.monitor.Monitor.RespReport parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static msec.monitor.Monitor.RespReport parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(msec.monitor.Monitor.RespReport prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code msec.monitor.RespReport}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder>
       implements msec.monitor.Monitor.RespReportOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return msec.monitor.Monitor.internal_static_msec_monitor_RespReport_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return msec.monitor.Monitor.internal_static_msec_monitor_RespReport_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                msec.monitor.Monitor.RespReport.class, msec.monitor.Monitor.RespReport.Builder.class);
      }

      // Construct using msec.monitor.Monitor.RespReport.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        result_ = 0;
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return msec.monitor.Monitor.internal_static_msec_monitor_RespReport_descriptor;
      }

      public msec.monitor.Monitor.RespReport getDefaultInstanceForType() {
        return msec.monitor.Monitor.RespReport.getDefaultInstance();
      }

      public msec.monitor.Monitor.RespReport build() {
        msec.monitor.Monitor.RespReport result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public msec.monitor.Monitor.RespReport buildPartial() {
        msec.monitor.Monitor.RespReport result = new msec.monitor.Monitor.RespReport(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.result_ = result_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof msec.monitor.Monitor.RespReport) {
          return mergeFrom((msec.monitor.Monitor.RespReport)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(msec.monitor.Monitor.RespReport other) {
        if (other == msec.monitor.Monitor.RespReport.getDefaultInstance()) return this;
        if (other.hasResult()) {
          setResult(other.getResult());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        msec.monitor.Monitor.RespReport parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (msec.monitor.Monitor.RespReport) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional uint32 result = 1;
      private int result_ ;
      /**
       * <code>optional uint32 result = 1;</code>
       *
       * <pre>
       *0，正常；其余，失败返回码。
       * </pre>
       */
      public boolean hasResult() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>optional uint32 result = 1;</code>
       *
       * <pre>
       *0，正常；其余，失败返回码。
       * </pre>
       */
      public int getResult() {
        return result_;
      }
      /**
       * <code>optional uint32 result = 1;</code>
       *
       * <pre>
       *0，正常；其余，失败返回码。
       * </pre>
       */
      public Builder setResult(int value) {
        bitField0_ |= 0x00000001;
        result_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional uint32 result = 1;</code>
       *
       * <pre>
       *0，正常；其余，失败返回码。
       * </pre>
       */
      public Builder clearResult() {
        bitField0_ = (bitField0_ & ~0x00000001);
        result_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:msec.monitor.RespReport)
    }

    static {
      defaultInstance = new RespReport(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:msec.monitor.RespReport)
  }

  public interface ReqMonitorOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional .msec.monitor.ReqService service = 1;
    /**
     * <code>optional .msec.monitor.ReqService service = 1;</code>
     *
     * <pre>
     *上报数据读取接口
     * </pre>
     */
    boolean hasService();
    /**
     * <code>optional .msec.monitor.ReqService service = 1;</code>
     *
     * <pre>
     *上报数据读取接口
     * </pre>
     */
    msec.monitor.Monitor.ReqService getService();
    /**
     * <code>optional .msec.monitor.ReqService service = 1;</code>
     *
     * <pre>
     *上报数据读取接口
     * </pre>
     */
    msec.monitor.Monitor.ReqServiceOrBuilder getServiceOrBuilder();

    // optional .msec.monitor.ReqServiceAttr serviceattr = 2;
    /**
     * <code>optional .msec.monitor.ReqServiceAttr serviceattr = 2;</code>
     *
     * <pre>
     *批量获取单个Service的多天多属性数据
     * </pre>
     */
    boolean hasServiceattr();
    /**
     * <code>optional .msec.monitor.ReqServiceAttr serviceattr = 2;</code>
     *
     * <pre>
     *批量获取单个Service的多天多属性数据
     * </pre>
     */
    msec.monitor.Monitor.ReqServiceAttr getServiceattr();
    /**
     * <code>optional .msec.monitor.ReqServiceAttr serviceattr = 2;</code>
     *
     * <pre>
     *批量获取单个Service的多天多属性数据
     * </pre>
     */
    msec.monitor.Monitor.ReqServiceAttrOrBuilder getServiceattrOrBuilder();

    // optional .msec.monitor.ReqAttrIP attrip = 3;
    /**
     * <code>optional .msec.monitor.ReqAttrIP attrip = 3;</code>
     *
     * <pre>
     *批量获取单个属性的多天多IP数据
     * </pre>
     */
    boolean hasAttrip();
    /**
     * <code>optional .msec.monitor.ReqAttrIP attrip = 3;</code>
     *
     * <pre>
     *批量获取单个属性的多天多IP数据
     * </pre>
     */
    msec.monitor.Monitor.ReqAttrIP getAttrip();
    /**
     * <code>optional .msec.monitor.ReqAttrIP attrip = 3;</code>
     *
     * <pre>
     *批量获取单个属性的多天多IP数据
     * </pre>
     */
    msec.monitor.Monitor.ReqAttrIPOrBuilder getAttripOrBuilder();

    // optional .msec.monitor.ReqIP ip = 4;
    /**
     * <code>optional .msec.monitor.ReqIP ip = 4;</code>
     *
     * <pre>
     *获取单个IP的Service和属性，可指定特定时间过滤无上报的属性
     * </pre>
     */
    boolean hasIp();
    /**
     * <code>optional .msec.monitor.ReqIP ip = 4;</code>
     *
     * <pre>
     *获取单个IP的Service和属性，可指定特定时间过滤无上报的属性
     * </pre>
     */
    msec.monitor.Monitor.ReqIP getIp();
    /**
     * <code>optional .msec.monitor.ReqIP ip = 4;</code>
     *
     * <pre>
     *获取单个IP的Service和属性，可指定特定时间过滤无上报的属性
     * </pre>
     */
    msec.monitor.Monitor.ReqIPOrBuilder getIpOrBuilder();

    // optional .msec.monitor.ReqIPAttr ipattr = 5;
    /**
     * <code>optional .msec.monitor.ReqIPAttr ipattr = 5;</code>
     *
     * <pre>
     *批量获取单个属性的多天多IP数据
     * </pre>
     */
    boolean hasIpattr();
    /**
     * <code>optional .msec.monitor.ReqIPAttr ipattr = 5;</code>
     *
     * <pre>
     *批量获取单个属性的多天多IP数据
     * </pre>
     */
    msec.monitor.Monitor.ReqIPAttr getIpattr();
    /**
     * <code>optional .msec.monitor.ReqIPAttr ipattr = 5;</code>
     *
     * <pre>
     *批量获取单个属性的多天多IP数据
     * </pre>
     */
    msec.monitor.Monitor.ReqIPAttrOrBuilder getIpattrOrBuilder();

    // optional .msec.monitor.ReqTreeList treelist = 10;
    /**
     * <code>optional .msec.monitor.ReqTreeList treelist = 10;</code>
     *
     * <pre>
     *目录树接口
     * </pre>
     */
    boolean hasTreelist();
    /**
     * <code>optional .msec.monitor.ReqTreeList treelist = 10;</code>
     *
     * <pre>
     *目录树接口
     * </pre>
     */
    msec.monitor.Monitor.ReqTreeList getTreelist();
    /**
     * <code>optional .msec.monitor.ReqTreeList treelist = 10;</code>
     *
     * <pre>
     *目录树接口
     * </pre>
     */
    msec.monitor.Monitor.ReqTreeListOrBuilder getTreelistOrBuilder();

    // optional .msec.monitor.ReqSetAlarmAttr setalarmattr = 20;
    /**
     * <code>optional .msec.monitor.ReqSetAlarmAttr setalarmattr = 20;</code>
     *
     * <pre>
     *告警接口
     * </pre>
     */
    boolean hasSetalarmattr();
    /**
     * <code>optional .msec.monitor.ReqSetAlarmAttr setalarmattr = 20;</code>
     *
     * <pre>
     *告警接口
     * </pre>
     */
    msec.monitor.Monitor.ReqSetAlarmAttr getSetalarmattr();
    /**
     * <code>optional .msec.monitor.ReqSetAlarmAttr setalarmattr = 20;</code>
     *
     * <pre>
     *告警接口
     * </pre>
     */
    msec.monitor.Monitor.ReqSetAlarmAttrOrBuilder getSetalarmattrOrBuilder();

    // optional .msec.monitor.ReqDelAlarmAttr delalarmattr = 21;
    /**
     * <code>optional .msec.monitor.ReqDelAlarmAttr delalarmattr = 21;</code>
     *
     * <pre>
     *删除单个告警项
     * </pre>
     */
    boolean hasDelalarmattr();
    /**
     * <code>optional .msec.monitor.ReqDelAlarmAttr delalarmattr = 21;</code>
     *
     * <pre>
     *删除单个告警项
     * </pre>
     */
    msec.monitor.Monitor.ReqDelAlarmAttr getDelalarmattr();
    /**
     * <code>optional .msec.monitor.ReqDelAlarmAttr delalarmattr = 21;</code>
     *
     * <pre>
     *删除单个告警项
     * </pre>
     */
    msec.monitor.Monitor.ReqDelAlarmAttrOrBuilder getDelalarmattrOrBuilder();

    // optional .msec.monitor.ReqNewestAlarm newalarm = 22;
    /**
     * <code>optional .msec.monitor.ReqNewestAlarm newalarm = 22;</code>
     *
     * <pre>
     *获取最新产生的告警，可指定获取特定服务的告警
     * </pre>
     */
    boolean hasNewalarm();
    /**
     * <code>optional .msec.monitor.ReqNewestAlarm newalarm = 22;</code>
     *
     * <pre>
     *获取最新产生的告警，可指定获取特定服务的告警
     * </pre>
     */
    msec.monitor.Monitor.ReqNewestAlarm getNewalarm();
    /**
     * <code>optional .msec.monitor.ReqNewestAlarm newalarm = 22;</code>
     *
     * <pre>
     *获取最新产生的告警，可指定获取特定服务的告警
     * </pre>
     */
    msec.monitor.Monitor.ReqNewestAlarmOrBuilder getNewalarmOrBuilder();

    // optional .msec.monitor.ReqDelAlarm delalarm = 23;
    /**
     * <code>optional .msec.monitor.ReqDelAlarm delalarm = 23;</code>
     *
     * <pre>
     *删除单日某类收敛告警
     * </pre>
     */
    boolean hasDelalarm();
    /**
     * <code>optional .msec.monitor.ReqDelAlarm delalarm = 23;</code>
     *
     * <pre>
     *删除单日某类收敛告警
     * </pre>
     */
    msec.monitor.Monitor.ReqDelAlarm getDelalarm();
    /**
     * <code>optional .msec.monitor.ReqDelAlarm delalarm = 23;</code>
     *
     * <pre>
     *删除单日某类收敛告警
     * </pre>
     */
    msec.monitor.Monitor.ReqDelAlarmOrBuilder getDelalarmOrBuilder();
  }
  /**
   * Protobuf type {@code msec.monitor.ReqMonitor}
   *
   * <pre>
   *get function
   *读取监控数据协议
   * </pre>
   */
  public static final class ReqMonitor extends
      com.google.protobuf.GeneratedMessage
      implements ReqMonitorOrBuilder {
    // Use ReqMonitor.newBuilder() to construct.
    private ReqMonitor(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private ReqMonitor(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final ReqMonitor defaultInstance;
    public static ReqMonitor getDefaultInstance() {
      return defaultInstance;
    }

    public ReqMonitor getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private ReqMonitor(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              msec.monitor.Monitor.ReqService.Builder subBuilder = null;
              if (((bitField0_ & 0x00000001) == 0x00000001)) {
                subBuilder = service_.toBuilder();
              }
              service_ = input.readMessage(msec.monitor.Monitor.ReqService.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(service_);
                service_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000001;
              break;
            }
            case 18: {
              msec.monitor.Monitor.ReqServiceAttr.Builder subBuilder = null;
              if (((bitField0_ & 0x00000002) == 0x00000002)) {
                subBuilder = serviceattr_.toBuilder();
              }
              serviceattr_ = input.readMessage(msec.monitor.Monitor.ReqServiceAttr.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(serviceattr_);
                serviceattr_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000002;
              break;
            }
            case 26: {
              msec.monitor.Monitor.ReqAttrIP.Builder subBuilder = null;
              if (((bitField0_ & 0x00000004) == 0x00000004)) {
                subBuilder = attrip_.toBuilder();
              }
              attrip_ = input.readMessage(msec.monitor.Monitor.ReqAttrIP.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(attrip_);
                attrip_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000004;
              break;
            }
            case 34: {
              msec.monitor.Monitor.ReqIP.Builder subBuilder = null;
              if (((bitField0_ & 0x00000008) == 0x00000008)) {
                subBuilder = ip_.toBuilder();
              }
              ip_ = input.readMessage(msec.monitor.Monitor.ReqIP.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(ip_);
                ip_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000008;
              break;
            }
            case 42: {
              msec.monitor.Monitor.ReqIPAttr.Builder subBuilder = null;
              if (((bitField0_ & 0x00000010) == 0x00000010)) {
                subBuilder = ipattr_.toBuilder();
              }
              ipattr_ = input.readMessage(msec.monitor.Monitor.ReqIPAttr.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(ipattr_);
                ipattr_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000010;
              break;
            }
            case 82: {
              msec.monitor.Monitor.ReqTreeList.Builder subBuilder = null;
              if (((bitField0_ & 0x00000020) == 0x00000020)) {
                subBuilder = treelist_.toBuilder();
              }
              treelist_ = input.readMessage(msec.monitor.Monitor.ReqTreeList.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(treelist_);
                treelist_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000020;
              break;
            }
            case 162: {
              msec.monitor.Monitor.ReqSetAlarmAttr.Builder subBuilder = null;
              if (((bitField0_ & 0x00000040) == 0x00000040)) {
                subBuilder = setalarmattr_.toBuilder();
              }
              setalarmattr_ = input.readMessage(msec.monitor.Monitor.ReqSetAlarmAttr.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(setalarmattr_);
                setalarmattr_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000040;
              break;
            }
            case 170: {
              msec.monitor.Monitor.ReqDelAlarmAttr.Builder subBuilder = null;
              if (((bitField0_ & 0x00000080) == 0x00000080)) {
                subBuilder = delalarmattr_.toBuilder();
              }
              delalarmattr_ = input.readMessage(msec.monitor.Monitor.ReqDelAlarmAttr.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(delalarmattr_);
                delalarmattr_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000080;
              break;
            }
            case 178: {
              msec.monitor.Monitor.ReqNewestAlarm.Builder subBuilder = null;
              if (((bitField0_ & 0x00000100) == 0x00000100)) {
                subBuilder = newalarm_.toBuilder();
              }
              newalarm_ = input.readMessage(msec.monitor.Monitor.ReqNewestAlarm.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(newalarm_);
                newalarm_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000100;
              break;
            }
            case 186: {
              msec.monitor.Monitor.ReqDelAlarm.Builder subBuilder = null;
              if (((bitField0_ & 0x00000200) == 0x00000200)) {
                subBuilder = delalarm_.toBuilder();
              }
              delalarm_ = input.readMessage(msec.monitor.Monitor.ReqDelAlarm.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(delalarm_);
                delalarm_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000200;
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return msec.monitor.Monitor.internal_static_msec_monitor_ReqMonitor_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return msec.monitor.Monitor.internal_static_msec_monitor_ReqMonitor_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              msec.monitor.Monitor.ReqMonitor.class, msec.monitor.Monitor.ReqMonitor.Builder.class);
    }

    public static com.google.protobuf.Parser<ReqMonitor> PARSER =
        new com.google.protobuf.AbstractParser<ReqMonitor>() {
      public ReqMonitor parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new ReqMonitor(input, extensionRegistry);
      }
    };

    @java.lang.Override
    public com.google.protobuf.Parser<ReqMonitor> getParserForType() {
      return PARSER;
    }

    private int bitField0_;
    // optional .msec.monitor.ReqService service = 1;
    public static final int SERVICE_FIELD_NUMBER = 1;
    private msec.monitor.Monitor.ReqService service_;
    /**
     * <code>optional .msec.monitor.ReqService service = 1;</code>
     *
     * <pre>
     *上报数据读取接口
     * </pre>
     */
    public boolean hasService() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>optional .msec.monitor.ReqService service = 1;</code>
     *
     * <pre>
     *上报数据读取接口
     * </pre>
     */
    public msec.monitor.Monitor.ReqService getService() {
      return service_;
    }
    /**
     * <code>optional .msec.monitor.ReqService service = 1;</code>
     *
     * <pre>
     *上报数据读取接口
     * </pre>
     */
    public msec.monitor.Monitor.ReqServiceOrBuilder getServiceOrBuilder() {
      return service_;
    }

    // optional .msec.monitor.ReqServiceAttr serviceattr = 2;
    public static final int SERVICEATTR_FIELD_NUMBER = 2;
    private msec.monitor.Monitor.ReqServiceAttr serviceattr_;
    /**
     * <code>optional .msec.monitor.ReqServiceAttr serviceattr = 2;</code>
     *
     * <pre>
     *批量获取单个Service的多天多属性数据
     * </pre>
     */
    public boolean hasServiceattr() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * <code>optional .msec.monitor.ReqServiceAttr serviceattr = 2;</code>
     *
     * <pre>
     *批量获取单个Service的多天多属性数据
     * </pre>
     */
    public msec.monitor.Monitor.ReqServiceAttr getServiceattr() {
      return serviceattr_;
    }
    /**
     * <code>optional .msec.monitor.ReqServiceAttr serviceattr = 2;</code>
     *
     * <pre>
     *批量获取单个Service的多天多属性数据
     * </pre>
     */
    public msec.monitor.Monitor.ReqServiceAttrOrBuilder getServiceattrOrBuilder() {
      return serviceattr_;
    }

    // optional .msec.monitor.ReqAttrIP attrip = 3;
    public static final int ATTRIP_FIELD_NUMBER = 3;
    private msec.monitor.Monitor.ReqAttrIP attrip_;
    /**
     * <code>optional .msec.monitor.ReqAttrIP attrip = 3;</code>
     *
     * <pre>
     *批量获取单个属性的多天多IP数据
     * </pre>
     */
    public boolean hasAttrip() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * <code>optional .msec.monitor.ReqAttrIP attrip = 3;</code>
     *
     * <pre>
     *批量获取单个属性的多天多IP数据
     * </pre>
     */
    public msec.monitor.Monitor.ReqAttrIP getAttrip() {
      return attrip_;
    }
    /**
     * <code>optional .msec.monitor.ReqAttrIP attrip = 3;</code>
     *
     * <pre>
     *批量获取单个属性的多天多IP数据
     * </pre>
     */
    public msec.monitor.Monitor.ReqAttrIPOrBuilder getAttripOrBuilder() {
      return attrip_;
    }

    // optional .msec.monitor.ReqIP ip = 4;
    public static final int IP_FIELD_NUMBER = 4;
    private msec.monitor.Monitor.ReqIP ip_;
    /**
     * <code>optional .msec.monitor.ReqIP ip = 4;</code>
     *
     * <pre>
     *获取单个IP的Service和属性，可指定特定时间过滤无上报的属性
     * </pre>
     */
    public boolean hasIp() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * <code>optional .msec.monitor.ReqIP ip = 4;</code>
     *
     * <pre>
     *获取单个IP的Service和属性，可指定特定时间过滤无上报的属性
     * </pre>
     */
    public msec.monitor.Monitor.ReqIP getIp() {
      return ip_;
    }
    /**
     * <code>optional .msec.monitor.ReqIP ip = 4;</code>
     *
     * <pre>
     *获取单个IP的Service和属性，可指定特定时间过滤无上报的属性
     * </pre>
     */
    public msec.monitor.Monitor.ReqIPOrBuilder getIpOrBuilder() {
      return ip_;
    }

    // optional .msec.monitor.ReqIPAttr ipattr = 5;
    public static final int IPATTR_FIELD_NUMBER = 5;
    private msec.monitor.Monitor.ReqIPAttr ipattr_;
    /**
     * <code>optional .msec.monitor.ReqIPAttr ipattr = 5;</code>
     *
     * <pre>
     *批量获取单个属性的多天多IP数据
     * </pre>
     */
    public boolean hasIpattr() {
      return ((bitField0_ & 0x00000010) == 0x00000010);
    }
    /**
     * <code>optional .msec.monitor.ReqIPAttr ipattr = 5;</code>
     *
     * <pre>
     *批量获取单个属性的多天多IP数据
     * </pre>
     */
    public msec.monitor.Monitor.ReqIPAttr getIpattr() {
      return ipattr_;
    }
    /**
     * <code>optional .msec.monitor.ReqIPAttr ipattr = 5;</code>
     *
     * <pre>
     *批量获取单个属性的多天多IP数据
     * </pre>
     */
    public msec.monitor.Monitor.ReqIPAttrOrBuilder getIpattrOrBuilder() {
      return ipattr_;
    }

    // optional .msec.monitor.ReqTreeList treelist = 10;
    public static final int TREELIST_FIELD_NUMBER = 10;
    private msec.monitor.Monitor.ReqTreeList treelist_;
    /**
     * <code>optional .msec.monitor.ReqTreeList treelist = 10;</code>
     *
     * <pre>
     *目录树接口
     * </pre>
     */
    public boolean hasTreelist() {
      return ((bitField0_ & 0x00000020) == 0x00000020);
    }
    /**
     * <code>optional .msec.monitor.ReqTreeList treelist = 10;</code>
     *
     * <pre>
     *目录树接口
     * </pre>
     */
    public msec.monitor.Monitor.ReqTreeList getTreelist() {
      return treelist_;
    }
    /**
     * <code>optional .msec.monitor.ReqTreeList treelist = 10;</code>
     *
     * <pre>
     *目录树接口
     * </pre>
     */
    public msec.monitor.Monitor.ReqTreeListOrBuilder getTreelistOrBuilder() {
      return treelist_;
    }

    // optional .msec.monitor.ReqSetAlarmAttr setalarmattr = 20;
    public static final int SETALARMATTR_FIELD_NUMBER = 20;
    private msec.monitor.Monitor.ReqSetAlarmAttr setalarmattr_;
    /**
     * <code>optional .msec.monitor.ReqSetAlarmAttr setalarmattr = 20;</code>
     *
     * <pre>
     *告警接口
     * </pre>
     */
    public boolean hasSetalarmattr() {
      return ((bitField0_ & 0x00000040) == 0x00000040);
    }
    /**
     * <code>optional .msec.monitor.ReqSetAlarmAttr setalarmattr = 20;</code>
     *
     * <pre>
     *告警接口
     * </pre>
     */
    public msec.monitor.Monitor.ReqSetAlarmAttr getSetalarmattr() {
      return setalarmattr_;
    }
    /**
     * <code>optional .msec.monitor.ReqSetAlarmAttr setalarmattr = 20;</code>
     *
     * <pre>
     *告警接口
     * </pre>
     */
    public msec.monitor.Monitor.ReqSetAlarmAttrOrBuilder getSetalarmattrOrBuilder() {
      return setalarmattr_;
    }

    // optional .msec.monitor.ReqDelAlarmAttr delalarmattr = 21;
    public static final int DELALARMATTR_FIELD_NUMBER = 21;
    private msec.monitor.Monitor.ReqDelAlarmAttr delalarmattr_;
    /**
     * <code>optional .msec.monitor.ReqDelAlarmAttr delalarmattr = 21;</code>
     *
     * <pre>
     *删除单个告警项
     * </pre>
     */
    public boolean hasDelalarmattr() {
      return ((bitField0_ & 0x00000080) == 0x00000080);
    }
    /**
     * <code>optional .msec.monitor.ReqDelAlarmAttr delalarmattr = 21;</code>
     *
     * <pre>
     *删除单个告警项
     * </pre>
     */
    public msec.monitor.Monitor.ReqDelAlarmAttr getDelalarmattr() {
      return delalarmattr_;
    }
    /**
     * <code>optional .msec.monitor.ReqDelAlarmAttr delalarmattr = 21;</code>
     *
     * <pre>
     *删除单个告警项
     * </pre>
     */
    public msec.monitor.Monitor.ReqDelAlarmAttrOrBuilder getDelalarmattrOrBuilder() {
      return delalarmattr_;
    }

    // optional .msec.monitor.ReqNewestAlarm newalarm = 22;
    public static final int NEWALARM_FIELD_NUMBER = 22;
    private msec.monitor.Monitor.ReqNewestAlarm newalarm_;
    /**
     * <code>optional .msec.monitor.ReqNewestAlarm newalarm = 22;</code>
     *
     * <pre>
     *获取最新产生的告警，可指定获取特定服务的告警
     * </pre>
     */
    public boolean hasNewalarm() {
      return ((bitField0_ & 0x00000100) == 0x00000100);
    }
    /**
     * <code>optional .msec.monitor.ReqNewestAlarm newalarm = 22;</code>
     *
     * <pre>
     *获取最新产生的告警，可指定获取特定服务的告警
     * </pre>
     */
    public msec.monitor.Monitor.ReqNewestAlarm getNewalarm() {
      return newalarm_;
    }
    /**
     * <code>optional .msec.monitor.ReqNewestAlarm newalarm = 22;</code>
     *
     * <pre>
     *获取最新产生的告警，可指定获取特定服务的告警
     * </pre>
     */
    public msec.monitor.Monitor.ReqNewestAlarmOrBuilder getNewalarmOrBuilder() {
      return newalarm_;
    }

    // optional .msec.monitor.ReqDelAlarm delalarm = 23;
    public static final int DELALARM_FIELD_NUMBER = 23;
    private msec.monitor.Monitor.ReqDelAlarm delalarm_;
    /**
     * <code>optional .msec.monitor.ReqDelAlarm delalarm = 23;</code>
     *
     * <pre>
     *删除单日某类收敛告警
     * </pre>
     */
    public boolean hasDelalarm() {
      return ((bitField0_ & 0x00000200) == 0x00000200);
    }
    /**
     * <code>optional .msec.monitor.ReqDelAlarm delalarm = 23;</code>
     *
     * <pre>
     *删除单日某类收敛告警
     * </pre>
     */
    public msec.monitor.Monitor.ReqDelAlarm getDelalarm() {
      return delalarm_;
    }
    /**
     * <code>optional .msec.monitor.ReqDelAlarm delalarm = 23;</code>
     *
     * <pre>
     *删除单日某类收敛告警
     * </pre>
     */
    public msec.monitor.Monitor.ReqDelAlarmOrBuilder getDelalarmOrBuilder() {
      return delalarm_;
    }

    private void initFields() {
      service_ = msec.monitor.Monitor.ReqService.getDefaultInstance();
      serviceattr_ = msec.monitor.Monitor.ReqServiceAttr.getDefaultInstance();
      attrip_ = msec.monitor.Monitor.ReqAttrIP.getDefaultInstance();
      ip_ = msec.monitor.Monitor.ReqIP.getDefaultInstance();
      ipattr_ = msec.monitor.Monitor.ReqIPAttr.getDefaultInstance();
      treelist_ = msec.monitor.Monitor.ReqTreeList.getDefaultInstance();
      setalarmattr_ = msec.monitor.Monitor.ReqSetAlarmAttr.getDefaultInstance();
      delalarmattr_ = msec.monitor.Monitor.ReqDelAlarmAttr.getDefaultInstance();
      newalarm_ = msec.monitor.Monitor.ReqNewestAlarm.getDefaultInstance();
      delalarm_ = msec.monitor.Monitor.ReqDelAlarm.getDefaultInstance();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeMessage(1, service_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeMessage(2, serviceattr_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeMessage(3, attrip_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeMessage(4, ip_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        output.writeMessage(5, ipattr_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        output.writeMessage(10, treelist_);
      }
      if (((bitField0_ & 0x00000040) == 0x00000040)) {
        output.writeMessage(20, setalarmattr_);
      }
      if (((bitField0_ & 0x00000080) == 0x00000080)) {
        output.writeMessage(21, delalarmattr_);
      }
      if (((bitField0_ & 0x00000100) == 0x00000100)) {
        output.writeMessage(22, newalarm_);
      }
      if (((bitField0_ & 0x00000200) == 0x00000200)) {
        output.writeMessage(23, delalarm_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, service_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, serviceattr_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, attrip_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(4, ip_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(5, ipattr_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(10, treelist_);
      }
      if (((bitField0_ & 0x00000040) == 0x00000040)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(20, setalarmattr_);
      }
      if (((bitField0_ & 0x00000080) == 0x00000080)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(21, delalarmattr_);
      }
      if (((bitField0_ & 0x00000100) == 0x00000100)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(22, newalarm_);
      }
      if (((bitField0_ & 0x00000200) == 0x00000200)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(23, delalarm_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static msec.monitor.Monitor.ReqMonitor parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static msec.monitor.Monitor.ReqMonitor parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static msec.monitor.Monitor.ReqMonitor parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static msec.monitor.Monitor.ReqMonitor parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static msec.monitor.Monitor.ReqMonitor parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static msec.monitor.Monitor.ReqMonitor parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static msec.monitor.Monitor.ReqMonitor parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static msec.monitor.Monitor.ReqMonitor parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static msec.monitor.Monitor.ReqMonitor parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static msec.monitor.Monitor.ReqMonitor parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(msec.monitor.Monitor.ReqMonitor prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code msec.monitor.ReqMonitor}
     *
     * <pre>
     *get function
     *读取监控数据协议
     * </pre>
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder>
       implements msec.monitor.Monitor.ReqMonitorOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return msec.monitor.Monitor.internal_static_msec_monitor_ReqMonitor_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return msec.monitor.Monitor.internal_static_msec_monitor_ReqMonitor_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                msec.monitor.Monitor.ReqMonitor.class, msec.monitor.Monitor.ReqMonitor.Builder.class);
      }

      // Construct using msec.monitor.Monitor.ReqMonitor.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getServiceFieldBuilder();
          getServiceattrFieldBuilder();
          getAttripFieldBuilder();
          getIpFieldBuilder();
          getIpattrFieldBuilder();
          getTreelistFieldBuilder();
          getSetalarmattrFieldBuilder();
          getDelalarmattrFieldBuilder();
          getNewalarmFieldBuilder();
          getDelalarmFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        if (serviceBuilder_ == null) {
          service_ = msec.monitor.Monitor.ReqService.getDefaultInstance();
        } else {
          serviceBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        if (serviceattrBuilder_ == null) {
          serviceattr_ = msec.monitor.Monitor.ReqServiceAttr.getDefaultInstance();
        } else {
          serviceattrBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        if (attripBuilder_ == null) {
          attrip_ = msec.monitor.Monitor.ReqAttrIP.getDefaultInstance();
        } else {
          attripBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000004);
        if (ipBuilder_ == null) {
          ip_ = msec.monitor.Monitor.ReqIP.getDefaultInstance();
        } else {
          ipBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000008);
        if (ipattrBuilder_ == null) {
          ipattr_ = msec.monitor.Monitor.ReqIPAttr.getDefaultInstance();
        } else {
          ipattrBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000010);
        if (treelistBuilder_ == null) {
          treelist_ = msec.monitor.Monitor.ReqTreeList.getDefaultInstance();
        } else {
          treelistBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000020);
        if (setalarmattrBuilder_ == null) {
          setalarmattr_ = msec.monitor.Monitor.ReqSetAlarmAttr.getDefaultInstance();
        } else {
          setalarmattrBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000040);
        if (delalarmattrBuilder_ == null) {
          delalarmattr_ = msec.monitor.Monitor.ReqDelAlarmAttr.getDefaultInstance();
        } else {
          delalarmattrBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000080);
        if (newalarmBuilder_ == null) {
          newalarm_ = msec.monitor.Monitor.ReqNewestAlarm.getDefaultInstance();
        } else {
          newalarmBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000100);
        if (delalarmBuilder_ == null) {
          delalarm_ = msec.monitor.Monitor.ReqDelAlarm.getDefaultInstance();
        } else {
          delalarmBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000200);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return msec.monitor.Monitor.internal_static_msec_monitor_ReqMonitor_descriptor;
      }

      public msec.monitor.Monitor.ReqMonitor getDefaultInstanceForType() {
        return msec.monitor.Monitor.ReqMonitor.getDefaultInstance();
      }

      public msec.monitor.Monitor.ReqMonitor build() {
        msec.monitor.Monitor.ReqMonitor result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public msec.monitor.Monitor.ReqMonitor buildPartial() {
        msec.monitor.Monitor.ReqMonitor result = new msec.monitor.Monitor.ReqMonitor(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        if (serviceBuilder_ == null) {
          result.service_ = service_;
        } else {
          result.service_ = serviceBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        if (serviceattrBuilder_ == null) {
          result.serviceattr_ = serviceattr_;
        } else {
          result.serviceattr_ = serviceattrBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        if (attripBuilder_ == null) {
          result.attrip_ = attrip_;
        } else {
          result.attrip_ = attripBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        if (ipBuilder_ == null) {
          result.ip_ = ip_;
        } else {
          result.ip_ = ipBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
          to_bitField0_ |= 0x00000010;
        }
        if (ipattrBuilder_ == null) {
          result.ipattr_ = ipattr_;
        } else {
          result.ipattr_ = ipattrBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
          to_bitField0_ |= 0x00000020;
        }
        if (treelistBuilder_ == null) {
          result.treelist_ = treelist_;
        } else {
          result.treelist_ = treelistBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
          to_bitField0_ |= 0x00000040;
        }
        if (setalarmattrBuilder_ == null) {
          result.setalarmattr_ = setalarmattr_;
        } else {
          result.setalarmattr_ = setalarmattrBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000080) == 0x00000080)) {
          to_bitField0_ |= 0x00000080;
        }
        if (delalarmattrBuilder_ == null) {
          result.delalarmattr_ = delalarmattr_;
        } else {
          result.delalarmattr_ = delalarmattrBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000100) == 0x00000100)) {
          to_bitField0_ |= 0x00000100;
        }
        if (newalarmBuilder_ == null) {
          result.newalarm_ = newalarm_;
        } else {
          result.newalarm_ = newalarmBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000200) == 0x00000200)) {
          to_bitField0_ |= 0x00000200;
        }
        if (delalarmBuilder_ == null) {
          result.delalarm_ = delalarm_;
        } else {
          result.delalarm_ = delalarmBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof msec.monitor.Monitor.ReqMonitor) {
          return mergeFrom((msec.monitor.Monitor.ReqMonitor)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(msec.monitor.Monitor.ReqMonitor other) {
        if (other == msec.monitor.Monitor.ReqMonitor.getDefaultInstance()) return this;
        if (other.hasService()) {
          mergeService(other.getService());
        }
        if (other.hasServiceattr()) {
          mergeServiceattr(other.getServiceattr());
        }
        if (other.hasAttrip()) {
          mergeAttrip(other.getAttrip());
        }
        if (other.hasIp()) {
          mergeIp(other.getIp());
        }
        if (other.hasIpattr()) {
          mergeIpattr(other.getIpattr());
        }
        if (other.hasTreelist()) {
          mergeTreelist(other.getTreelist());
        }
        if (other.hasSetalarmattr()) {
          mergeSetalarmattr(other.getSetalarmattr());
        }
        if (other.hasDelalarmattr()) {
          mergeDelalarmattr(other.getDelalarmattr());
        }
        if (other.hasNewalarm()) {
          mergeNewalarm(other.getNewalarm());
        }
        if (other.hasDelalarm()) {
          mergeDelalarm(other.getDelalarm());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        msec.monitor.Monitor.ReqMonitor parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (msec.monitor.Monitor.ReqMonitor) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional .msec.monitor.ReqService service = 1;
      private msec.monitor.Monitor.ReqService service_ = msec.monitor.Monitor.ReqService.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          msec.monitor.Monitor.ReqService, msec.monitor.Monitor.ReqService.Builder, msec.monitor.Monitor.ReqServiceOrBuilder> serviceBuilder_;
      /**
       * <code>optional .msec.monitor.ReqService service = 1;</code>
       *
       * <pre>
       *上报数据读取接口
       * </pre>
       */
      public boolean hasService() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>optional .msec.monitor.ReqService service = 1;</code>
       *
       * <pre>
       *上报数据读取接口
       * </pre>
       */
      public msec.monitor.Monitor.ReqService getService() {
        if (serviceBuilder_ == null) {
          return service_;
        } else {
          return serviceBuilder_.getMessage();
        }
      }
      /**
       * <code>optional .msec.monitor.ReqService service = 1;</code>
       *
       * <pre>
       *上报数据读取接口
       * </pre>
       */
      public Builder setService(msec.monitor.Monitor.ReqService value) {
        if (serviceBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          service_ = value;
          onChanged();
        } else {
          serviceBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>optional .msec.monitor.ReqService service = 1;</code>
       *
       * <pre>
       *上报数据读取接口
       * </pre>
       */
      public Builder setService(
          msec.monitor.Monitor.ReqService.Builder builderForValue) {
        if (serviceBuilder_ == null) {
          service_ = builderForValue.build();
          onChanged();
        } else {
          serviceBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>optional .msec.monitor.ReqService service = 1;</code>
       *
       * <pre>
       *上报数据读取接口
       * </pre>
       */
      public Builder mergeService(msec.monitor.Monitor.ReqService value) {
        if (serviceBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001) &&
              service_ != msec.monitor.Monitor.ReqService.getDefaultInstance()) {
            service_ =
              msec.monitor.Monitor.ReqService.newBuilder(service_).mergeFrom(value).buildPartial();
          } else {
            service_ = value;
          }
          onChanged();
        } else {
          serviceBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>optional .msec.monitor.ReqService service = 1;</code>
       *
       * <pre>
       *上报数据读取接口
       * </pre>
       */
      public Builder clearService() {
        if (serviceBuilder_ == null) {
          service_ = msec.monitor.Monitor.ReqService.getDefaultInstance();
          onChanged();
        } else {
          serviceBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      /**
       * <code>optional .msec.monitor.ReqService service = 1;</code>
       *
       * <pre>
       *上报数据读取接口
       * </pre>
       */
      public msec.monitor.Monitor.ReqService.Builder getServiceBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getServiceFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .msec.monitor.ReqService service = 1;</code>
       *
       * <pre>
       *上报数据读取接口
       * </pre>
       */
      public msec.monitor.Monitor.ReqServiceOrBuilder getServiceOrBuilder() {
        if (serviceBuilder_ != null) {
          return serviceBuilder_.getMessageOrBuilder();
        } else {
          return service_;
        }
      }
      /**
       * <code>optional .msec.monitor.ReqService service = 1;</code>
       *
       * <pre>
       *上报数据读取接口
       * </pre>
       */
      private com.google.protobuf.SingleFieldBuilder<
          msec.monitor.Monitor.ReqService, msec.monitor.Monitor.ReqService.Builder, msec.monitor.Monitor.ReqServiceOrBuilder>
          getServiceFieldBuilder() {
        if (serviceBuilder_ == null) {
          serviceBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              msec.monitor.Monitor.ReqService, msec.monitor.Monitor.ReqService.Builder, msec.monitor.Monitor.ReqServiceOrBuilder>(
                  service_,
                  getParentForChildren(),
                  isClean());
          service_ = null;
        }
        return serviceBuilder_;
      }

      // optional .msec.monitor.ReqServiceAttr serviceattr = 2;
      private msec.monitor.Monitor.ReqServiceAttr serviceattr_ = msec.monitor.Monitor.ReqServiceAttr.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          msec.monitor.Monitor.ReqServiceAttr, msec.monitor.Monitor.ReqServiceAttr.Builder, msec.monitor.Monitor.ReqServiceAttrOrBuilder> serviceattrBuilder_;
      /**
       * <code>optional .msec.monitor.ReqServiceAttr serviceattr = 2;</code>
       *
       * <pre>
       *批量获取单个Service的多天多属性数据
       * </pre>
       */
      public boolean hasServiceattr() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>optional .msec.monitor.ReqServiceAttr serviceattr = 2;</code>
       *
       * <pre>
       *批量获取单个Service的多天多属性数据
       * </pre>
       */
      public msec.monitor.Monitor.ReqServiceAttr getServiceattr() {
        if (serviceattrBuilder_ == null) {
          return serviceattr_;
        } else {
          return serviceattrBuilder_.getMessage();
        }
      }
      /**
       * <code>optional .msec.monitor.ReqServiceAttr serviceattr = 2;</code>
       *
       * <pre>
       *批量获取单个Service的多天多属性数据
       * </pre>
       */
      public Builder setServiceattr(msec.monitor.Monitor.ReqServiceAttr value) {
        if (serviceattrBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          serviceattr_ = value;
          onChanged();
        } else {
          serviceattrBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * <code>optional .msec.monitor.ReqServiceAttr serviceattr = 2;</code>
       *
       * <pre>
       *批量获取单个Service的多天多属性数据
       * </pre>
       */
      public Builder setServiceattr(
          msec.monitor.Monitor.ReqServiceAttr.Builder builderForValue) {
        if (serviceattrBuilder_ == null) {
          serviceattr_ = builderForValue.build();
          onChanged();
        } else {
          serviceattrBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * <code>optional .msec.monitor.ReqServiceAttr serviceattr = 2;</code>
       *
       * <pre>
       *批量获取单个Service的多天多属性数据
       * </pre>
       */
      public Builder mergeServiceattr(msec.monitor.Monitor.ReqServiceAttr value) {
        if (serviceattrBuilder_ == null) {
          if (((bitField0_ & 0x00000002) == 0x00000002) &&
              serviceattr_ != msec.monitor.Monitor.ReqServiceAttr.getDefaultInstance()) {
            serviceattr_ =
              msec.monitor.Monitor.ReqServiceAttr.newBuilder(serviceattr_).mergeFrom(value).buildPartial();
          } else {
            serviceattr_ = value;
          }
          onChanged();
        } else {
          serviceattrBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * <code>optional .msec.monitor.ReqServiceAttr serviceattr = 2;</code>
       *
       * <pre>
       *批量获取单个Service的多天多属性数据
       * </pre>
       */
      public Builder clearServiceattr() {
        if (serviceattrBuilder_ == null) {
          serviceattr_ = msec.monitor.Monitor.ReqServiceAttr.getDefaultInstance();
          onChanged();
        } else {
          serviceattrBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }
      /**
       * <code>optional .msec.monitor.ReqServiceAttr serviceattr = 2;</code>
       *
       * <pre>
       *批量获取单个Service的多天多属性数据
       * </pre>
       */
      public msec.monitor.Monitor.ReqServiceAttr.Builder getServiceattrBuilder() {
        bitField0_ |= 0x00000002;
        onChanged();
        return getServiceattrFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .msec.monitor.ReqServiceAttr serviceattr = 2;</code>
       *
       * <pre>
       *批量获取单个Service的多天多属性数据
       * </pre>
       */
      public msec.monitor.Monitor.ReqServiceAttrOrBuilder getServiceattrOrBuilder() {
        if (serviceattrBuilder_ != null) {
          return serviceattrBuilder_.getMessageOrBuilder();
        } else {
          return serviceattr_;
        }
      }
      /**
       * <code>optional .msec.monitor.ReqServiceAttr serviceattr = 2;</code>
       *
       * <pre>
       *批量获取单个Service的多天多属性数据
       * </pre>
       */
      private com.google.protobuf.SingleFieldBuilder<
          msec.monitor.Monitor.ReqServiceAttr, msec.monitor.Monitor.ReqServiceAttr.Builder, msec.monitor.Monitor.ReqServiceAttrOrBuilder>
          getServiceattrFieldBuilder() {
        if (serviceattrBuilder_ == null) {
          serviceattrBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              msec.monitor.Monitor.ReqServiceAttr, msec.monitor.Monitor.ReqServiceAttr.Builder, msec.monitor.Monitor.ReqServiceAttrOrBuilder>(
                  serviceattr_,
                  getParentForChildren(),
                  isClean());
          serviceattr_ = null;
        }
        return serviceattrBuilder_;
      }

      // optional .msec.monitor.ReqAttrIP attrip = 3;
      private msec.monitor.Monitor.ReqAttrIP attrip_ = msec.monitor.Monitor.ReqAttrIP.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          msec.monitor.Monitor.ReqAttrIP, msec.monitor.Monitor.ReqAttrIP.Builder, msec.monitor.Monitor.ReqAttrIPOrBuilder> attripBuilder_;
      /**
       * <code>optional .msec.monitor.ReqAttrIP attrip = 3;</code>
       *
       * <pre>
       *批量获取单个属性的多天多IP数据
       * </pre>
       */
      public boolean hasAttrip() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * <code>optional .msec.monitor.ReqAttrIP attrip = 3;</code>
       *
       * <pre>
       *批量获取单个属性的多天多IP数据
       * </pre>
       */
      public msec.monitor.Monitor.ReqAttrIP getAttrip() {
        if (attripBuilder_ == null) {
          return attrip_;
        } else {
          return attripBuilder_.getMessage();
        }
      }
      /**
       * <code>optional .msec.monitor.ReqAttrIP attrip = 3;</code>
       *
       * <pre>
       *批量获取单个属性的多天多IP数据
       * </pre>
       */
      public Builder setAttrip(msec.monitor.Monitor.ReqAttrIP value) {
        if (attripBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          attrip_ = value;
          onChanged();
        } else {
          attripBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * <code>optional .msec.monitor.ReqAttrIP attrip = 3;</code>
       *
       * <pre>
       *批量获取单个属性的多天多IP数据
       * </pre>
       */
      public Builder setAttrip(
          msec.monitor.Monitor.ReqAttrIP.Builder builderForValue) {
        if (attripBuilder_ == null) {
          attrip_ = builderForValue.build();
          onChanged();
        } else {
          attripBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * <code>optional .msec.monitor.ReqAttrIP attrip = 3;</code>
       *
       * <pre>
       *批量获取单个属性的多天多IP数据
       * </pre>
       */
      public Builder mergeAttrip(msec.monitor.Monitor.ReqAttrIP value) {
        if (attripBuilder_ == null) {
          if (((bitField0_ & 0x00000004) == 0x00000004) &&
              attrip_ != msec.monitor.Monitor.ReqAttrIP.getDefaultInstance()) {
            attrip_ =
              msec.monitor.Monitor.ReqAttrIP.newBuilder(attrip_).mergeFrom(value).buildPartial();
          } else {
            attrip_ = value;
          }
          onChanged();
        } else {
          attripBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * <code>optional .msec.monitor.ReqAttrIP attrip = 3;</code>
       *
       * <pre>
       *批量获取单个属性的多天多IP数据
       * </pre>
       */
      public Builder clearAttrip() {
        if (attripBuilder_ == null) {
          attrip_ = msec.monitor.Monitor.ReqAttrIP.getDefaultInstance();
          onChanged();
        } else {
          attripBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }
      /**
       * <code>optional .msec.monitor.ReqAttrIP attrip = 3;</code>
       *
       * <pre>
       *批量获取单个属性的多天多IP数据
       * </pre>
       */
      public msec.monitor.Monitor.ReqAttrIP.Builder getAttripBuilder() {
        bitField0_ |= 0x00000004;
        onChanged();
        return getAttripFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .msec.monitor.ReqAttrIP attrip = 3;</code>
       *
       * <pre>
       *批量获取单个属性的多天多IP数据
       * </pre>
       */
      public msec.monitor.Monitor.ReqAttrIPOrBuilder getAttripOrBuilder() {
        if (attripBuilder_ != null) {
          return attripBuilder_.getMessageOrBuilder();
        } else {
          return attrip_;
        }
      }
      /**
       * <code>optional .msec.monitor.ReqAttrIP attrip = 3;</code>
       *
       * <pre>
       *批量获取单个属性的多天多IP数据
       * </pre>
       */
      private com.google.protobuf.SingleFieldBuilder<
          msec.monitor.Monitor.ReqAttrIP, msec.monitor.Monitor.ReqAttrIP.Builder, msec.monitor.Monitor.ReqAttrIPOrBuilder>
          getAttripFieldBuilder() {
        if (attripBuilder_ == null) {
          attripBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              msec.monitor.Monitor.ReqAttrIP, msec.monitor.Monitor.ReqAttrIP.Builder, msec.monitor.Monitor.ReqAttrIPOrBuilder>(
                  attrip_,
                  getParentForChildren(),
                  isClean());
          attrip_ = null;
        }
        return attripBuilder_;
      }

      // optional .msec.monitor.ReqIP ip = 4;
      private msec.monitor.Monitor.ReqIP ip_ = msec.monitor.Monitor.ReqIP.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          msec.monitor.Monitor.ReqIP, msec.monitor.Monitor.ReqIP.Builder, msec.monitor.Monitor.ReqIPOrBuilder> ipBuilder_;
      /**
       * <code>optional .msec.monitor.ReqIP ip = 4;</code>
       *
       * <pre>
       *获取单个IP的Service和属性，可指定特定时间过滤无上报的属性
       * </pre>
       */
      public boolean hasIp() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * <code>optional .msec.monitor.ReqIP ip = 4;</code>
       *
       * <pre>
       *获取单个IP的Service和属性，可指定特定时间过滤无上报的属性
       * </pre>
       */
      public msec.monitor.Monitor.ReqIP getIp() {
        if (ipBuilder_ == null) {
          return ip_;
        } else {
          return ipBuilder_.getMessage();
        }
      }
      /**
       * <code>optional .msec.monitor.ReqIP ip = 4;</code>
       *
       * <pre>
       *获取单个IP的Service和属性，可指定特定时间过滤无上报的属性
       * </pre>
       */
      public Builder setIp(msec.monitor.Monitor.ReqIP value) {
        if (ipBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ip_ = value;
          onChanged();
        } else {
          ipBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000008;
        return this;
      }
      /**
       * <code>optional .msec.monitor.ReqIP ip = 4;</code>
       *
       * <pre>
       *获取单个IP的Service和属性，可指定特定时间过滤无上报的属性
       * </pre>
       */
      public Builder setIp(
          msec.monitor.Monitor.ReqIP.Builder builderForValue) {
        if (ipBuilder_ == null) {
          ip_ = builderForValue.build();
          onChanged();
        } else {
          ipBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000008;
        return this;
      }
      /**
       * <code>optional .msec.monitor.ReqIP ip = 4;</code>
       *
       * <pre>
       *获取单个IP的Service和属性，可指定特定时间过滤无上报的属性
       * </pre>
       */
      public Builder mergeIp(msec.monitor.Monitor.ReqIP value) {
        if (ipBuilder_ == null) {
          if (((bitField0_ & 0x00000008) == 0x00000008) &&
              ip_ != msec.monitor.Monitor.ReqIP.getDefaultInstance()) {
            ip_ =
              msec.monitor.Monitor.ReqIP.newBuilder(ip_).mergeFrom(value).buildPartial();
          } else {
            ip_ = value;
          }
          onChanged();
        } else {
          ipBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000008;
        return this;
      }
      /**
       * <code>optional .msec.monitor.ReqIP ip = 4;</code>
       *
       * <pre>
       *获取单个IP的Service和属性，可指定特定时间过滤无上报的属性
       * </pre>
       */
      public Builder clearIp() {
        if (ipBuilder_ == null) {
          ip_ = msec.monitor.Monitor.ReqIP.getDefaultInstance();
          onChanged();
        } else {
          ipBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000008);
        return this;
      }
      /**
       * <code>optional .msec.monitor.ReqIP ip = 4;</code>
       *
       * <pre>
       *获取单个IP的Service和属性，可指定特定时间过滤无上报的属性
       * </pre>
       */
      public msec.monitor.Monitor.ReqIP.Builder getIpBuilder() {
        bitField0_ |= 0x00000008;
        onChanged();
        return getIpFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .msec.monitor.ReqIP ip = 4;</code>
       *
       * <pre>
       *获取单个IP的Service和属性，可指定特定时间过滤无上报的属性
       * </pre>
       */
      public msec.monitor.Monitor.ReqIPOrBuilder getIpOrBuilder() {
        if (ipBuilder_ != null) {
          return ipBuilder_.getMessageOrBuilder();
        } else {
          return ip_;
        }
      }
      /**
       * <code>optional .msec.monitor.ReqIP ip = 4;</code>
       *
       * <pre>
       *获取单个IP的Service和属性，可指定特定时间过滤无上报的属性
       * </pre>
       */
      private com.google.protobuf.SingleFieldBuilder<
          msec.monitor.Monitor.ReqIP, msec.monitor.Monitor.ReqIP.Builder, msec.monitor.Monitor.ReqIPOrBuilder>
          getIpFieldBuilder() {
        if (ipBuilder_ == null) {
          ipBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              msec.monitor.Monitor.ReqIP, msec.monitor.Monitor.ReqIP.Builder, msec.monitor.Monitor.ReqIPOrBuilder>(
                  ip_,
                  getParentForChildren(),
                  isClean());
          ip_ = null;
        }
        return ipBuilder_;
      }

      // optional .msec.monitor.ReqIPAttr ipattr = 5;
      private msec.monitor.Monitor.ReqIPAttr ipattr_ = msec.monitor.Monitor.ReqIPAttr.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          msec.monitor.Monitor.ReqIPAttr, msec.monitor.Monitor.ReqIPAttr.Builder, msec.monitor.Monitor.ReqIPAttrOrBuilder> ipattrBuilder_;
      /**
       * <code>optional .msec.monitor.ReqIPAttr ipattr = 5;</code>
       *
       * <pre>
       *批量获取单个属性的多天多IP数据
       * </pre>
       */
      public boolean hasIpattr() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      /**
       * <code>optional .msec.monitor.ReqIPAttr ipattr = 5;</code>
       *
       * <pre>
       *批量获取单个属性的多天多IP数据
       * </pre>
       */
      public msec.monitor.Monitor.ReqIPAttr getIpattr() {
        if (ipattrBuilder_ == null) {
          return ipattr_;
        } else {
          return ipattrBuilder_.getMessage();
        }
      }
      /**
       * <code>optional .msec.monitor.ReqIPAttr ipattr = 5;</code>
       *
       * <pre>
       *批量获取单个属性的多天多IP数据
       * </pre>
       */
      public Builder setIpattr(msec.monitor.Monitor.ReqIPAttr value) {
        if (ipattrBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ipattr_ = value;
          onChanged();
        } else {
          ipattrBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000010;
        return this;
      }
      /**
       * <code>optional .msec.monitor.ReqIPAttr ipattr = 5;</code>
       *
       * <pre>
       *批量获取单个属性的多天多IP数据
       * </pre>
       */
      public Builder setIpattr(
          msec.monitor.Monitor.ReqIPAttr.Builder builderForValue) {
        if (ipattrBuilder_ == null) {
          ipattr_ = builderForValue.build();
          onChanged();
        } else {
          ipattrBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000010;
        return this;
      }
      /**
       * <code>optional .msec.monitor.ReqIPAttr ipattr = 5;</code>
       *
       * <pre>
       *批量获取单个属性的多天多IP数据
       * </pre>
       */
      public Builder mergeIpattr(msec.monitor.Monitor.ReqIPAttr value) {
        if (ipattrBuilder_ == null) {
          if (((bitField0_ & 0x00000010) == 0x00000010) &&
              ipattr_ != msec.monitor.Monitor.ReqIPAttr.getDefaultInstance()) {
            ipattr_ =
              msec.monitor.Monitor.ReqIPAttr.newBuilder(ipattr_).mergeFrom(value).buildPartial();
          } else {
            ipattr_ = value;
          }
          onChanged();
        } else {
          ipattrBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000010;
        return this;
      }
      /**
       * <code>optional .msec.monitor.ReqIPAttr ipattr = 5;</code>
       *
       * <pre>
       *批量获取单个属性的多天多IP数据
       * </pre>
       */
      public Builder clearIpattr() {
        if (ipattrBuilder_ == null) {
          ipattr_ = msec.monitor.Monitor.ReqIPAttr.getDefaultInstance();
          onChanged();
        } else {
          ipattrBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000010);
        return this;
      }
      /**
       * <code>optional .msec.monitor.ReqIPAttr ipattr = 5;</code>
       *
       * <pre>
       *批量获取单个属性的多天多IP数据
       * </pre>
       */
      public msec.monitor.Monitor.ReqIPAttr.Builder getIpattrBuilder() {
        bitField0_ |= 0x00000010;
        onChanged();
        return getIpattrFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .msec.monitor.ReqIPAttr ipattr = 5;</code>
       *
       * <pre>
       *批量获取单个属性的多天多IP数据
       * </pre>
       */
      public msec.monitor.Monitor.ReqIPAttrOrBuilder getIpattrOrBuilder() {
        if (ipattrBuilder_ != null) {
          return ipattrBuilder_.getMessageOrBuilder();
        } else {
          return ipattr_;
        }
      }
      /**
       * <code>optional .msec.monitor.ReqIPAttr ipattr = 5;</code>
       *
       * <pre>
       *批量获取单个属性的多天多IP数据
       * </pre>
       */
      private com.google.protobuf.SingleFieldBuilder<
          msec.monitor.Monitor.ReqIPAttr, msec.monitor.Monitor.ReqIPAttr.Builder, msec.monitor.Monitor.ReqIPAttrOrBuilder>
          getIpattrFieldBuilder() {
        if (ipattrBuilder_ == null) {
          ipattrBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              msec.monitor.Monitor.ReqIPAttr, msec.monitor.Monitor.ReqIPAttr.Builder, msec.monitor.Monitor.ReqIPAttrOrBuilder>(
                  ipattr_,
                  getParentForChildren(),
                  isClean());
          ipattr_ = null;
        }
        return ipattrBuilder_;
      }

      // optional .msec.monitor.ReqTreeList treelist = 10;
      private msec.monitor.Monitor.ReqTreeList treelist_ = msec.monitor.Monitor.ReqTreeList.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          msec.monitor.Monitor.ReqTreeList, msec.monitor.Monitor.ReqTreeList.Builder, msec.monitor.Monitor.ReqTreeListOrBuilder> treelistBuilder_;
      /**
       * <code>optional .msec.monitor.ReqTreeList treelist = 10;</code>
       *
       * <pre>
       *目录树接口
       * </pre>
       */
      public boolean hasTreelist() {
        return ((bitField0_ & 0x00000020) == 0x00000020);
      }
      /**
       * <code>optional .msec.monitor.ReqTreeList treelist = 10;</code>
       *
       * <pre>
       *目录树接口
       * </pre>
       */
      public msec.monitor.Monitor.ReqTreeList getTreelist() {
        if (treelistBuilder_ == null) {
          return treelist_;
        } else {
          return treelistBuilder_.getMessage();
        }
      }
      /**
       * <code>optional .msec.monitor.ReqTreeList treelist = 10;</code>
       *
       * <pre>
       *目录树接口
       * </pre>
       */
      public Builder setTreelist(msec.monitor.Monitor.ReqTreeList value) {
        if (treelistBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          treelist_ = value;
          onChanged();
        } else {
          treelistBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000020;
        return this;
      }
      /**
       * <code>optional .msec.monitor.ReqTreeList treelist = 10;</code>
       *
       * <pre>
       *目录树接口
       * </pre>
       */
      public Builder setTreelist(
          msec.monitor.Monitor.ReqTreeList.Builder builderForValue) {
        if (treelistBuilder_ == null) {
          treelist_ = builderForValue.build();
          onChanged();
        } else {
          treelistBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000020;
        return this;
      }
      /**
       * <code>optional .msec.monitor.ReqTreeList treelist = 10;</code>
       *
       * <pre>
       *目录树接口
       * </pre>
       */
      public Builder mergeTreelist(msec.monitor.Monitor.ReqTreeList value) {
        if (treelistBuilder_ == null) {
          if (((bitField0_ & 0x00000020) == 0x00000020) &&
              treelist_ != msec.monitor.Monitor.ReqTreeList.getDefaultInstance()) {
            treelist_ =
              msec.monitor.Monitor.ReqTreeList.newBuilder(treelist_).mergeFrom(value).buildPartial();
          } else {
            treelist_ = value;
          }
          onChanged();
        } else {
          treelistBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000020;
        return this;
      }
      /**
       * <code>optional .msec.monitor.ReqTreeList treelist = 10;</code>
       *
       * <pre>
       *目录树接口
       * </pre>
       */
      public Builder clearTreelist() {
        if (treelistBuilder_ == null) {
          treelist_ = msec.monitor.Monitor.ReqTreeList.getDefaultInstance();
          onChanged();
        } else {
          treelistBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000020);
        return this;
      }
      /**
       * <code>optional .msec.monitor.ReqTreeList treelist = 10;</code>
       *
       * <pre>
       *目录树接口
       * </pre>
       */
      public msec.monitor.Monitor.ReqTreeList.Builder getTreelistBuilder() {
        bitField0_ |= 0x00000020;
        onChanged();
        return getTreelistFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .msec.monitor.ReqTreeList treelist = 10;</code>
       *
       * <pre>
       *目录树接口
       * </pre>
       */
      public msec.monitor.Monitor.ReqTreeListOrBuilder getTreelistOrBuilder() {
        if (treelistBuilder_ != null) {
          return treelistBuilder_.getMessageOrBuilder();
        } else {
          return treelist_;
        }
      }
      /**
       * <code>optional .msec.monitor.ReqTreeList treelist = 10;</code>
       *
       * <pre>
       *目录树接口
       * </pre>
       */
      private com.google.protobuf.SingleFieldBuilder<
          msec.monitor.Monitor.ReqTreeList, msec.monitor.Monitor.ReqTreeList.Builder, msec.monitor.Monitor.ReqTreeListOrBuilder>
          getTreelistFieldBuilder() {
        if (treelistBuilder_ == null) {
          treelistBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              msec.monitor.Monitor.ReqTreeList, msec.monitor.Monitor.ReqTreeList.Builder, msec.monitor.Monitor.ReqTreeListOrBuilder>(
                  treelist_,
                  getParentForChildren(),
                  isClean());
          treelist_ = null;
        }
        return treelistBuilder_;
      }

      // optional .msec.monitor.ReqSetAlarmAttr setalarmattr = 20;
      private msec.monitor.Monitor.ReqSetAlarmAttr setalarmattr_ = msec.monitor.Monitor.ReqSetAlarmAttr.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          msec.monitor.Monitor.ReqSetAlarmAttr, msec.monitor.Monitor.ReqSetAlarmAttr.Builder, msec.monitor.Monitor.ReqSetAlarmAttrOrBuilder> setalarmattrBuilder_;
      /**
       * <code>optional .msec.monitor.ReqSetAlarmAttr setalarmattr = 20;</code>
       *
       * <pre>
       *告警接口
       * </pre>
       */
      public boolean hasSetalarmattr() {
        return ((bitField0_ & 0x00000040) == 0x00000040);
      }
      /**
       * <code>optional .msec.monitor.ReqSetAlarmAttr setalarmattr = 20;</code>
       *
       * <pre>
       *告警接口
       * </pre>
       */
      public msec.monitor.Monitor.ReqSetAlarmAttr getSetalarmattr() {
        if (setalarmattrBuilder_ == null) {
          return setalarmattr_;
        } else {
          return setalarmattrBuilder_.getMessage();
        }
      }
      /**
       * <code>optional .msec.monitor.ReqSetAlarmAttr setalarmattr = 20;</code>
       *
       * <pre>
       *告警接口
       * </pre>
       */
      public Builder setSetalarmattr(msec.monitor.Monitor.ReqSetAlarmAttr value) {
        if (setalarmattrBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          setalarmattr_ = value;
          onChanged();
        } else {
          setalarmattrBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000040;
        return this;
      }
      /**
       * <code>optional .msec.monitor.ReqSetAlarmAttr setalarmattr = 20;</code>
       *
       * <pre>
       *告警接口
       * </pre>
       */
      public Builder setSetalarmattr(
          msec.monitor.Monitor.ReqSetAlarmAttr.Builder builderForValue) {
        if (setalarmattrBuilder_ == null) {
          setalarmattr_ = builderForValue.build();
          onChanged();
        } else {
          setalarmattrBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000040;
        return this;
      }
      /**
       * <code>optional .msec.monitor.ReqSetAlarmAttr setalarmattr = 20;</code>
       *
       * <pre>
       *告警接口
       * </pre>
       */
      public Builder mergeSetalarmattr(msec.monitor.Monitor.ReqSetAlarmAttr value) {
        if (setalarmattrBuilder_ == null) {
          if (((bitField0_ & 0x00000040) == 0x00000040) &&
              setalarmattr_ != msec.monitor.Monitor.ReqSetAlarmAttr.getDefaultInstance()) {
            setalarmattr_ =
              msec.monitor.Monitor.ReqSetAlarmAttr.newBuilder(setalarmattr_).mergeFrom(value).buildPartial();
          } else {
            setalarmattr_ = value;
          }
          onChanged();
        } else {
          setalarmattrBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000040;
        return this;
      }
      /**
       * <code>optional .msec.monitor.ReqSetAlarmAttr setalarmattr = 20;</code>
       *
       * <pre>
       *告警接口
       * </pre>
       */
      public Builder clearSetalarmattr() {
        if (setalarmattrBuilder_ == null) {
          setalarmattr_ = msec.monitor.Monitor.ReqSetAlarmAttr.getDefaultInstance();
          onChanged();
        } else {
          setalarmattrBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000040);
        return this;
      }
      /**
       * <code>optional .msec.monitor.ReqSetAlarmAttr setalarmattr = 20;</code>
       *
       * <pre>
       *告警接口
       * </pre>
       */
      public msec.monitor.Monitor.ReqSetAlarmAttr.Builder getSetalarmattrBuilder() {
        bitField0_ |= 0x00000040;
        onChanged();
        return getSetalarmattrFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .msec.monitor.ReqSetAlarmAttr setalarmattr = 20;</code>
       *
       * <pre>
       *告警接口
       * </pre>
       */
      public msec.monitor.Monitor.ReqSetAlarmAttrOrBuilder getSetalarmattrOrBuilder() {
        if (setalarmattrBuilder_ != null) {
          return setalarmattrBuilder_.getMessageOrBuilder();
        } else {
          return setalarmattr_;
        }
      }
      /**
       * <code>optional .msec.monitor.ReqSetAlarmAttr setalarmattr = 20;</code>
       *
       * <pre>
       *告警接口
       * </pre>
       */
      private com.google.protobuf.SingleFieldBuilder<
          msec.monitor.Monitor.ReqSetAlarmAttr, msec.monitor.Monitor.ReqSetAlarmAttr.Builder, msec.monitor.Monitor.ReqSetAlarmAttrOrBuilder>
          getSetalarmattrFieldBuilder() {
        if (setalarmattrBuilder_ == null) {
          setalarmattrBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              msec.monitor.Monitor.ReqSetAlarmAttr, msec.monitor.Monitor.ReqSetAlarmAttr.Builder, msec.monitor.Monitor.ReqSetAlarmAttrOrBuilder>(
                  setalarmattr_,
                  getParentForChildren(),
                  isClean());
          setalarmattr_ = null;
        }
        return setalarmattrBuilder_;
      }

      // optional .msec.monitor.ReqDelAlarmAttr delalarmattr = 21;
      private msec.monitor.Monitor.ReqDelAlarmAttr delalarmattr_ = msec.monitor.Monitor.ReqDelAlarmAttr.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          msec.monitor.Monitor.ReqDelAlarmAttr, msec.monitor.Monitor.ReqDelAlarmAttr.Builder, msec.monitor.Monitor.ReqDelAlarmAttrOrBuilder> delalarmattrBuilder_;
      /**
       * <code>optional .msec.monitor.ReqDelAlarmAttr delalarmattr = 21;</code>
       *
       * <pre>
       *删除单个告警项
       * </pre>
       */
      public boolean hasDelalarmattr() {
        return ((bitField0_ & 0x00000080) == 0x00000080);
      }
      /**
       * <code>optional .msec.monitor.ReqDelAlarmAttr delalarmattr = 21;</code>
       *
       * <pre>
       *删除单个告警项
       * </pre>
       */
      public msec.monitor.Monitor.ReqDelAlarmAttr getDelalarmattr() {
        if (delalarmattrBuilder_ == null) {
          return delalarmattr_;
        } else {
          return delalarmattrBuilder_.getMessage();
        }
      }
      /**
       * <code>optional .msec.monitor.ReqDelAlarmAttr delalarmattr = 21;</code>
       *
       * <pre>
       *删除单个告警项
       * </pre>
       */
      public Builder setDelalarmattr(msec.monitor.Monitor.ReqDelAlarmAttr value) {
        if (delalarmattrBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          delalarmattr_ = value;
          onChanged();
        } else {
          delalarmattrBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000080;
        return this;
      }
      /**
       * <code>optional .msec.monitor.ReqDelAlarmAttr delalarmattr = 21;</code>
       *
       * <pre>
       *删除单个告警项
       * </pre>
       */
      public Builder setDelalarmattr(
          msec.monitor.Monitor.ReqDelAlarmAttr.Builder builderForValue) {
        if (delalarmattrBuilder_ == null) {
          delalarmattr_ = builderForValue.build();
          onChanged();
        } else {
          delalarmattrBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000080;
        return this;
      }
      /**
       * <code>optional .msec.monitor.ReqDelAlarmAttr delalarmattr = 21;</code>
       *
       * <pre>
       *删除单个告警项
       * </pre>
       */
      public Builder mergeDelalarmattr(msec.monitor.Monitor.ReqDelAlarmAttr value) {
        if (delalarmattrBuilder_ == null) {
          if (((bitField0_ & 0x00000080) == 0x00000080) &&
              delalarmattr_ != msec.monitor.Monitor.ReqDelAlarmAttr.getDefaultInstance()) {
            delalarmattr_ =
              msec.monitor.Monitor.ReqDelAlarmAttr.newBuilder(delalarmattr_).mergeFrom(value).buildPartial();
          } else {
            delalarmattr_ = value;
          }
          onChanged();
        } else {
          delalarmattrBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000080;
        return this;
      }
      /**
       * <code>optional .msec.monitor.ReqDelAlarmAttr delalarmattr = 21;</code>
       *
       * <pre>
       *删除单个告警项
       * </pre>
       */
      public Builder clearDelalarmattr() {
        if (delalarmattrBuilder_ == null) {
          delalarmattr_ = msec.monitor.Monitor.ReqDelAlarmAttr.getDefaultInstance();
          onChanged();
        } else {
          delalarmattrBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000080);
        return this;
      }
      /**
       * <code>optional .msec.monitor.ReqDelAlarmAttr delalarmattr = 21;</code>
       *
       * <pre>
       *删除单个告警项
       * </pre>
       */
      public msec.monitor.Monitor.ReqDelAlarmAttr.Builder getDelalarmattrBuilder() {
        bitField0_ |= 0x00000080;
        onChanged();
        return getDelalarmattrFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .msec.monitor.ReqDelAlarmAttr delalarmattr = 21;</code>
       *
       * <pre>
       *删除单个告警项
       * </pre>
       */
      public msec.monitor.Monitor.ReqDelAlarmAttrOrBuilder getDelalarmattrOrBuilder() {
        if (delalarmattrBuilder_ != null) {
          return delalarmattrBuilder_.getMessageOrBuilder();
        } else {
          return delalarmattr_;
        }
      }
      /**
       * <code>optional .msec.monitor.ReqDelAlarmAttr delalarmattr = 21;</code>
       *
       * <pre>
       *删除单个告警项
       * </pre>
       */
      private com.google.protobuf.SingleFieldBuilder<
          msec.monitor.Monitor.ReqDelAlarmAttr, msec.monitor.Monitor.ReqDelAlarmAttr.Builder, msec.monitor.Monitor.ReqDelAlarmAttrOrBuilder>
          getDelalarmattrFieldBuilder() {
        if (delalarmattrBuilder_ == null) {
          delalarmattrBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              msec.monitor.Monitor.ReqDelAlarmAttr, msec.monitor.Monitor.ReqDelAlarmAttr.Builder, msec.monitor.Monitor.ReqDelAlarmAttrOrBuilder>(
                  delalarmattr_,
                  getParentForChildren(),
                  isClean());
          delalarmattr_ = null;
        }
        return delalarmattrBuilder_;
      }

      // optional .msec.monitor.ReqNewestAlarm newalarm = 22;
      private msec.monitor.Monitor.ReqNewestAlarm newalarm_ = msec.monitor.Monitor.ReqNewestAlarm.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          msec.monitor.Monitor.ReqNewestAlarm, msec.monitor.Monitor.ReqNewestAlarm.Builder, msec.monitor.Monitor.ReqNewestAlarmOrBuilder> newalarmBuilder_;
      /**
       * <code>optional .msec.monitor.ReqNewestAlarm newalarm = 22;</code>
       *
       * <pre>
       *获取最新产生的告警，可指定获取特定服务的告警
       * </pre>
       */
      public boolean hasNewalarm() {
        return ((bitField0_ & 0x00000100) == 0x00000100);
      }
      /**
       * <code>optional .msec.monitor.ReqNewestAlarm newalarm = 22;</code>
       *
       * <pre>
       *获取最新产生的告警，可指定获取特定服务的告警
       * </pre>
       */
      public msec.monitor.Monitor.ReqNewestAlarm getNewalarm() {
        if (newalarmBuilder_ == null) {
          return newalarm_;
        } else {
          return newalarmBuilder_.getMessage();
        }
      }
      /**
       * <code>optional .msec.monitor.ReqNewestAlarm newalarm = 22;</code>
       *
       * <pre>
       *获取最新产生的告警，可指定获取特定服务的告警
       * </pre>
       */
      public Builder setNewalarm(msec.monitor.Monitor.ReqNewestAlarm value) {
        if (newalarmBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          newalarm_ = value;
          onChanged();
        } else {
          newalarmBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000100;
        return this;
      }
      /**
       * <code>optional .msec.monitor.ReqNewestAlarm newalarm = 22;</code>
       *
       * <pre>
       *获取最新产生的告警，可指定获取特定服务的告警
       * </pre>
       */
      public Builder setNewalarm(
          msec.monitor.Monitor.ReqNewestAlarm.Builder builderForValue) {
        if (newalarmBuilder_ == null) {
          newalarm_ = builderForValue.build();
          onChanged();
        } else {
          newalarmBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000100;
        return this;
      }
      /**
       * <code>optional .msec.monitor.ReqNewestAlarm newalarm = 22;</code>
       *
       * <pre>
       *获取最新产生的告警，可指定获取特定服务的告警
       * </pre>
       */
      public Builder mergeNewalarm(msec.monitor.Monitor.ReqNewestAlarm value) {
        if (newalarmBuilder_ == null) {
          if (((bitField0_ & 0x00000100) == 0x00000100) &&
              newalarm_ != msec.monitor.Monitor.ReqNewestAlarm.getDefaultInstance()) {
            newalarm_ =
              msec.monitor.Monitor.ReqNewestAlarm.newBuilder(newalarm_).mergeFrom(value).buildPartial();
          } else {
            newalarm_ = value;
          }
          onChanged();
        } else {
          newalarmBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000100;
        return this;
      }
      /**
       * <code>optional .msec.monitor.ReqNewestAlarm newalarm = 22;</code>
       *
       * <pre>
       *获取最新产生的告警，可指定获取特定服务的告警
       * </pre>
       */
      public Builder clearNewalarm() {
        if (newalarmBuilder_ == null) {
          newalarm_ = msec.monitor.Monitor.ReqNewestAlarm.getDefaultInstance();
          onChanged();
        } else {
          newalarmBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000100);
        return this;
      }
      /**
       * <code>optional .msec.monitor.ReqNewestAlarm newalarm = 22;</code>
       *
       * <pre>
       *获取最新产生的告警，可指定获取特定服务的告警
       * </pre>
       */
      public msec.monitor.Monitor.ReqNewestAlarm.Builder getNewalarmBuilder() {
        bitField0_ |= 0x00000100;
        onChanged();
        return getNewalarmFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .msec.monitor.ReqNewestAlarm newalarm = 22;</code>
       *
       * <pre>
       *获取最新产生的告警，可指定获取特定服务的告警
       * </pre>
       */
      public msec.monitor.Monitor.ReqNewestAlarmOrBuilder getNewalarmOrBuilder() {
        if (newalarmBuilder_ != null) {
          return newalarmBuilder_.getMessageOrBuilder();
        } else {
          return newalarm_;
        }
      }
      /**
       * <code>optional .msec.monitor.ReqNewestAlarm newalarm = 22;</code>
       *
       * <pre>
       *获取最新产生的告警，可指定获取特定服务的告警
       * </pre>
       */
      private com.google.protobuf.SingleFieldBuilder<
          msec.monitor.Monitor.ReqNewestAlarm, msec.monitor.Monitor.ReqNewestAlarm.Builder, msec.monitor.Monitor.ReqNewestAlarmOrBuilder>
          getNewalarmFieldBuilder() {
        if (newalarmBuilder_ == null) {
          newalarmBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              msec.monitor.Monitor.ReqNewestAlarm, msec.monitor.Monitor.ReqNewestAlarm.Builder, msec.monitor.Monitor.ReqNewestAlarmOrBuilder>(
                  newalarm_,
                  getParentForChildren(),
                  isClean());
          newalarm_ = null;
        }
        return newalarmBuilder_;
      }

      // optional .msec.monitor.ReqDelAlarm delalarm = 23;
      private msec.monitor.Monitor.ReqDelAlarm delalarm_ = msec.monitor.Monitor.ReqDelAlarm.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          msec.monitor.Monitor.ReqDelAlarm, msec.monitor.Monitor.ReqDelAlarm.Builder, msec.monitor.Monitor.ReqDelAlarmOrBuilder> delalarmBuilder_;
      /**
       * <code>optional .msec.monitor.ReqDelAlarm delalarm = 23;</code>
       *
       * <pre>
       *删除单日某类收敛告警
       * </pre>
       */
      public boolean hasDelalarm() {
        return ((bitField0_ & 0x00000200) == 0x00000200);
      }
      /**
       * <code>optional .msec.monitor.ReqDelAlarm delalarm = 23;</code>
       *
       * <pre>
       *删除单日某类收敛告警
       * </pre>
       */
      public msec.monitor.Monitor.ReqDelAlarm getDelalarm() {
        if (delalarmBuilder_ == null) {
          return delalarm_;
        } else {
          return delalarmBuilder_.getMessage();
        }
      }
      /**
       * <code>optional .msec.monitor.ReqDelAlarm delalarm = 23;</code>
       *
       * <pre>
       *删除单日某类收敛告警
       * </pre>
       */
      public Builder setDelalarm(msec.monitor.Monitor.ReqDelAlarm value) {
        if (delalarmBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          delalarm_ = value;
          onChanged();
        } else {
          delalarmBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000200;
        return this;
      }
      /**
       * <code>optional .msec.monitor.ReqDelAlarm delalarm = 23;</code>
       *
       * <pre>
       *删除单日某类收敛告警
       * </pre>
       */
      public Builder setDelalarm(
          msec.monitor.Monitor.ReqDelAlarm.Builder builderForValue) {
        if (delalarmBuilder_ == null) {
          delalarm_ = builderForValue.build();
          onChanged();
        } else {
          delalarmBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000200;
        return this;
      }
      /**
       * <code>optional .msec.monitor.ReqDelAlarm delalarm = 23;</code>
       *
       * <pre>
       *删除单日某类收敛告警
       * </pre>
       */
      public Builder mergeDelalarm(msec.monitor.Monitor.ReqDelAlarm value) {
        if (delalarmBuilder_ == null) {
          if (((bitField0_ & 0x00000200) == 0x00000200) &&
              delalarm_ != msec.monitor.Monitor.ReqDelAlarm.getDefaultInstance()) {
            delalarm_ =
              msec.monitor.Monitor.ReqDelAlarm.newBuilder(delalarm_).mergeFrom(value).buildPartial();
          } else {
            delalarm_ = value;
          }
          onChanged();
        } else {
          delalarmBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000200;
        return this;
      }
      /**
       * <code>optional .msec.monitor.ReqDelAlarm delalarm = 23;</code>
       *
       * <pre>
       *删除单日某类收敛告警
       * </pre>
       */
      public Builder clearDelalarm() {
        if (delalarmBuilder_ == null) {
          delalarm_ = msec.monitor.Monitor.ReqDelAlarm.getDefaultInstance();
          onChanged();
        } else {
          delalarmBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000200);
        return this;
      }
      /**
       * <code>optional .msec.monitor.ReqDelAlarm delalarm = 23;</code>
       *
       * <pre>
       *删除单日某类收敛告警
       * </pre>
       */
      public msec.monitor.Monitor.ReqDelAlarm.Builder getDelalarmBuilder() {
        bitField0_ |= 0x00000200;
        onChanged();
        return getDelalarmFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .msec.monitor.ReqDelAlarm delalarm = 23;</code>
       *
       * <pre>
       *删除单日某类收敛告警
       * </pre>
       */
      public msec.monitor.Monitor.ReqDelAlarmOrBuilder getDelalarmOrBuilder() {
        if (delalarmBuilder_ != null) {
          return delalarmBuilder_.getMessageOrBuilder();
        } else {
          return delalarm_;
        }
      }
      /**
       * <code>optional .msec.monitor.ReqDelAlarm delalarm = 23;</code>
       *
       * <pre>
       *删除单日某类收敛告警
       * </pre>
       */
      private com.google.protobuf.SingleFieldBuilder<
          msec.monitor.Monitor.ReqDelAlarm, msec.monitor.Monitor.ReqDelAlarm.Builder, msec.monitor.Monitor.ReqDelAlarmOrBuilder>
          getDelalarmFieldBuilder() {
        if (delalarmBuilder_ == null) {
          delalarmBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              msec.monitor.Monitor.ReqDelAlarm, msec.monitor.Monitor.ReqDelAlarm.Builder, msec.monitor.Monitor.ReqDelAlarmOrBuilder>(
                  delalarm_,
                  getParentForChildren(),
                  isClean());
          delalarm_ = null;
        }
        return delalarmBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:msec.monitor.ReqMonitor)
    }

    static {
      defaultInstance = new ReqMonitor(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:msec.monitor.ReqMonitor)
  }

  public interface RespMonitorOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional uint32 result = 1;
    /**
     * <code>optional uint32 result = 1;</code>
     *
     * <pre>
     *上报数据读取接口
     * </pre>
     */
    boolean hasResult();
    /**
     * <code>optional uint32 result = 1;</code>
     *
     * <pre>
     *上报数据读取接口
     * </pre>
     */
    int getResult();

    // optional .msec.monitor.RespService service = 2;
    /**
     * <code>optional .msec.monitor.RespService service = 2;</code>
     */
    boolean hasService();
    /**
     * <code>optional .msec.monitor.RespService service = 2;</code>
     */
    msec.monitor.Monitor.RespService getService();
    /**
     * <code>optional .msec.monitor.RespService service = 2;</code>
     */
    msec.monitor.Monitor.RespServiceOrBuilder getServiceOrBuilder();

    // optional .msec.monitor.RespServiceAttr serviceattr = 3;
    /**
     * <code>optional .msec.monitor.RespServiceAttr serviceattr = 3;</code>
     */
    boolean hasServiceattr();
    /**
     * <code>optional .msec.monitor.RespServiceAttr serviceattr = 3;</code>
     */
    msec.monitor.Monitor.RespServiceAttr getServiceattr();
    /**
     * <code>optional .msec.monitor.RespServiceAttr serviceattr = 3;</code>
     */
    msec.monitor.Monitor.RespServiceAttrOrBuilder getServiceattrOrBuilder();

    // optional .msec.monitor.RespAttrIP attrip = 4;
    /**
     * <code>optional .msec.monitor.RespAttrIP attrip = 4;</code>
     */
    boolean hasAttrip();
    /**
     * <code>optional .msec.monitor.RespAttrIP attrip = 4;</code>
     */
    msec.monitor.Monitor.RespAttrIP getAttrip();
    /**
     * <code>optional .msec.monitor.RespAttrIP attrip = 4;</code>
     */
    msec.monitor.Monitor.RespAttrIPOrBuilder getAttripOrBuilder();

    // optional .msec.monitor.RespIP ip = 5;
    /**
     * <code>optional .msec.monitor.RespIP ip = 5;</code>
     */
    boolean hasIp();
    /**
     * <code>optional .msec.monitor.RespIP ip = 5;</code>
     */
    msec.monitor.Monitor.RespIP getIp();
    /**
     * <code>optional .msec.monitor.RespIP ip = 5;</code>
     */
    msec.monitor.Monitor.RespIPOrBuilder getIpOrBuilder();

    // optional .msec.monitor.RespIPAttr ipattr = 6;
    /**
     * <code>optional .msec.monitor.RespIPAttr ipattr = 6;</code>
     */
    boolean hasIpattr();
    /**
     * <code>optional .msec.monitor.RespIPAttr ipattr = 6;</code>
     */
    msec.monitor.Monitor.RespIPAttr getIpattr();
    /**
     * <code>optional .msec.monitor.RespIPAttr ipattr = 6;</code>
     */
    msec.monitor.Monitor.RespIPAttrOrBuilder getIpattrOrBuilder();

    // optional .msec.monitor.RespTreeList treelist = 10;
    /**
     * <code>optional .msec.monitor.RespTreeList treelist = 10;</code>
     *
     * <pre>
     *目录树接口
     * </pre>
     */
    boolean hasTreelist();
    /**
     * <code>optional .msec.monitor.RespTreeList treelist = 10;</code>
     *
     * <pre>
     *目录树接口
     * </pre>
     */
    msec.monitor.Monitor.RespTreeList getTreelist();
    /**
     * <code>optional .msec.monitor.RespTreeList treelist = 10;</code>
     *
     * <pre>
     *目录树接口
     * </pre>
     */
    msec.monitor.Monitor.RespTreeListOrBuilder getTreelistOrBuilder();

    // optional .msec.monitor.RespSetAlarmAttr setalarmattr = 20;
    /**
     * <code>optional .msec.monitor.RespSetAlarmAttr setalarmattr = 20;</code>
     *
     * <pre>
     *告警接口
     * </pre>
     */
    boolean hasSetalarmattr();
    /**
     * <code>optional .msec.monitor.RespSetAlarmAttr setalarmattr = 20;</code>
     *
     * <pre>
     *告警接口
     * </pre>
     */
    msec.monitor.Monitor.RespSetAlarmAttr getSetalarmattr();
    /**
     * <code>optional .msec.monitor.RespSetAlarmAttr setalarmattr = 20;</code>
     *
     * <pre>
     *告警接口
     * </pre>
     */
    msec.monitor.Monitor.RespSetAlarmAttrOrBuilder getSetalarmattrOrBuilder();

    // optional .msec.monitor.RespDelAlarmAttr delalarmattr = 21;
    /**
     * <code>optional .msec.monitor.RespDelAlarmAttr delalarmattr = 21;</code>
     */
    boolean hasDelalarmattr();
    /**
     * <code>optional .msec.monitor.RespDelAlarmAttr delalarmattr = 21;</code>
     */
    msec.monitor.Monitor.RespDelAlarmAttr getDelalarmattr();
    /**
     * <code>optional .msec.monitor.RespDelAlarmAttr delalarmattr = 21;</code>
     */
    msec.monitor.Monitor.RespDelAlarmAttrOrBuilder getDelalarmattrOrBuilder();

    // optional .msec.monitor.RespNewestAlarm newalarm = 22;
    /**
     * <code>optional .msec.monitor.RespNewestAlarm newalarm = 22;</code>
     */
    boolean hasNewalarm();
    /**
     * <code>optional .msec.monitor.RespNewestAlarm newalarm = 22;</code>
     */
    msec.monitor.Monitor.RespNewestAlarm getNewalarm();
    /**
     * <code>optional .msec.monitor.RespNewestAlarm newalarm = 22;</code>
     */
    msec.monitor.Monitor.RespNewestAlarmOrBuilder getNewalarmOrBuilder();

    // optional .msec.monitor.RespDelAlarm delalarm = 23;
    /**
     * <code>optional .msec.monitor.RespDelAlarm delalarm = 23;</code>
     */
    boolean hasDelalarm();
    /**
     * <code>optional .msec.monitor.RespDelAlarm delalarm = 23;</code>
     */
    msec.monitor.Monitor.RespDelAlarm getDelalarm();
    /**
     * <code>optional .msec.monitor.RespDelAlarm delalarm = 23;</code>
     */
    msec.monitor.Monitor.RespDelAlarmOrBuilder getDelalarmOrBuilder();
  }
  /**
   * Protobuf type {@code msec.monitor.RespMonitor}
   */
  public static final class RespMonitor extends
      com.google.protobuf.GeneratedMessage
      implements RespMonitorOrBuilder {
    // Use RespMonitor.newBuilder() to construct.
    private RespMonitor(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private RespMonitor(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final RespMonitor defaultInstance;
    public static RespMonitor getDefaultInstance() {
      return defaultInstance;
    }

    public RespMonitor getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private RespMonitor(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              result_ = input.readUInt32();
              break;
            }
            case 18: {
              msec.monitor.Monitor.RespService.Builder subBuilder = null;
              if (((bitField0_ & 0x00000002) == 0x00000002)) {
                subBuilder = service_.toBuilder();
              }
              service_ = input.readMessage(msec.monitor.Monitor.RespService.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(service_);
                service_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000002;
              break;
            }
            case 26: {
              msec.monitor.Monitor.RespServiceAttr.Builder subBuilder = null;
              if (((bitField0_ & 0x00000004) == 0x00000004)) {
                subBuilder = serviceattr_.toBuilder();
              }
              serviceattr_ = input.readMessage(msec.monitor.Monitor.RespServiceAttr.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(serviceattr_);
                serviceattr_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000004;
              break;
            }
            case 34: {
              msec.monitor.Monitor.RespAttrIP.Builder subBuilder = null;
              if (((bitField0_ & 0x00000008) == 0x00000008)) {
                subBuilder = attrip_.toBuilder();
              }
              attrip_ = input.readMessage(msec.monitor.Monitor.RespAttrIP.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(attrip_);
                attrip_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000008;
              break;
            }
            case 42: {
              msec.monitor.Monitor.RespIP.Builder subBuilder = null;
              if (((bitField0_ & 0x00000010) == 0x00000010)) {
                subBuilder = ip_.toBuilder();
              }
              ip_ = input.readMessage(msec.monitor.Monitor.RespIP.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(ip_);
                ip_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000010;
              break;
            }
            case 50: {
              msec.monitor.Monitor.RespIPAttr.Builder subBuilder = null;
              if (((bitField0_ & 0x00000020) == 0x00000020)) {
                subBuilder = ipattr_.toBuilder();
              }
              ipattr_ = input.readMessage(msec.monitor.Monitor.RespIPAttr.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(ipattr_);
                ipattr_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000020;
              break;
            }
            case 82: {
              msec.monitor.Monitor.RespTreeList.Builder subBuilder = null;
              if (((bitField0_ & 0x00000040) == 0x00000040)) {
                subBuilder = treelist_.toBuilder();
              }
              treelist_ = input.readMessage(msec.monitor.Monitor.RespTreeList.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(treelist_);
                treelist_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000040;
              break;
            }
            case 162: {
              msec.monitor.Monitor.RespSetAlarmAttr.Builder subBuilder = null;
              if (((bitField0_ & 0x00000080) == 0x00000080)) {
                subBuilder = setalarmattr_.toBuilder();
              }
              setalarmattr_ = input.readMessage(msec.monitor.Monitor.RespSetAlarmAttr.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(setalarmattr_);
                setalarmattr_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000080;
              break;
            }
            case 170: {
              msec.monitor.Monitor.RespDelAlarmAttr.Builder subBuilder = null;
              if (((bitField0_ & 0x00000100) == 0x00000100)) {
                subBuilder = delalarmattr_.toBuilder();
              }
              delalarmattr_ = input.readMessage(msec.monitor.Monitor.RespDelAlarmAttr.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(delalarmattr_);
                delalarmattr_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000100;
              break;
            }
            case 178: {
              msec.monitor.Monitor.RespNewestAlarm.Builder subBuilder = null;
              if (((bitField0_ & 0x00000200) == 0x00000200)) {
                subBuilder = newalarm_.toBuilder();
              }
              newalarm_ = input.readMessage(msec.monitor.Monitor.RespNewestAlarm.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(newalarm_);
                newalarm_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000200;
              break;
            }
            case 186: {
              msec.monitor.Monitor.RespDelAlarm.Builder subBuilder = null;
              if (((bitField0_ & 0x00000400) == 0x00000400)) {
                subBuilder = delalarm_.toBuilder();
              }
              delalarm_ = input.readMessage(msec.monitor.Monitor.RespDelAlarm.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(delalarm_);
                delalarm_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000400;
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return msec.monitor.Monitor.internal_static_msec_monitor_RespMonitor_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return msec.monitor.Monitor.internal_static_msec_monitor_RespMonitor_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              msec.monitor.Monitor.RespMonitor.class, msec.monitor.Monitor.RespMonitor.Builder.class);
    }

    public static com.google.protobuf.Parser<RespMonitor> PARSER =
        new com.google.protobuf.AbstractParser<RespMonitor>() {
      public RespMonitor parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new RespMonitor(input, extensionRegistry);
      }
    };

    @java.lang.Override
    public com.google.protobuf.Parser<RespMonitor> getParserForType() {
      return PARSER;
    }

    private int bitField0_;
    // optional uint32 result = 1;
    public static final int RESULT_FIELD_NUMBER = 1;
    private int result_;
    /**
     * <code>optional uint32 result = 1;</code>
     *
     * <pre>
     *上报数据读取接口
     * </pre>
     */
    public boolean hasResult() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>optional uint32 result = 1;</code>
     *
     * <pre>
     *上报数据读取接口
     * </pre>
     */
    public int getResult() {
      return result_;
    }

    // optional .msec.monitor.RespService service = 2;
    public static final int SERVICE_FIELD_NUMBER = 2;
    private msec.monitor.Monitor.RespService service_;
    /**
     * <code>optional .msec.monitor.RespService service = 2;</code>
     */
    public boolean hasService() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * <code>optional .msec.monitor.RespService service = 2;</code>
     */
    public msec.monitor.Monitor.RespService getService() {
      return service_;
    }
    /**
     * <code>optional .msec.monitor.RespService service = 2;</code>
     */
    public msec.monitor.Monitor.RespServiceOrBuilder getServiceOrBuilder() {
      return service_;
    }

    // optional .msec.monitor.RespServiceAttr serviceattr = 3;
    public static final int SERVICEATTR_FIELD_NUMBER = 3;
    private msec.monitor.Monitor.RespServiceAttr serviceattr_;
    /**
     * <code>optional .msec.monitor.RespServiceAttr serviceattr = 3;</code>
     */
    public boolean hasServiceattr() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * <code>optional .msec.monitor.RespServiceAttr serviceattr = 3;</code>
     */
    public msec.monitor.Monitor.RespServiceAttr getServiceattr() {
      return serviceattr_;
    }
    /**
     * <code>optional .msec.monitor.RespServiceAttr serviceattr = 3;</code>
     */
    public msec.monitor.Monitor.RespServiceAttrOrBuilder getServiceattrOrBuilder() {
      return serviceattr_;
    }

    // optional .msec.monitor.RespAttrIP attrip = 4;
    public static final int ATTRIP_FIELD_NUMBER = 4;
    private msec.monitor.Monitor.RespAttrIP attrip_;
    /**
     * <code>optional .msec.monitor.RespAttrIP attrip = 4;</code>
     */
    public boolean hasAttrip() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * <code>optional .msec.monitor.RespAttrIP attrip = 4;</code>
     */
    public msec.monitor.Monitor.RespAttrIP getAttrip() {
      return attrip_;
    }
    /**
     * <code>optional .msec.monitor.RespAttrIP attrip = 4;</code>
     */
    public msec.monitor.Monitor.RespAttrIPOrBuilder getAttripOrBuilder() {
      return attrip_;
    }

    // optional .msec.monitor.RespIP ip = 5;
    public static final int IP_FIELD_NUMBER = 5;
    private msec.monitor.Monitor.RespIP ip_;
    /**
     * <code>optional .msec.monitor.RespIP ip = 5;</code>
     */
    public boolean hasIp() {
      return ((bitField0_ & 0x00000010) == 0x00000010);
    }
    /**
     * <code>optional .msec.monitor.RespIP ip = 5;</code>
     */
    public msec.monitor.Monitor.RespIP getIp() {
      return ip_;
    }
    /**
     * <code>optional .msec.monitor.RespIP ip = 5;</code>
     */
    public msec.monitor.Monitor.RespIPOrBuilder getIpOrBuilder() {
      return ip_;
    }

    // optional .msec.monitor.RespIPAttr ipattr = 6;
    public static final int IPATTR_FIELD_NUMBER = 6;
    private msec.monitor.Monitor.RespIPAttr ipattr_;
    /**
     * <code>optional .msec.monitor.RespIPAttr ipattr = 6;</code>
     */
    public boolean hasIpattr() {
      return ((bitField0_ & 0x00000020) == 0x00000020);
    }
    /**
     * <code>optional .msec.monitor.RespIPAttr ipattr = 6;</code>
     */
    public msec.monitor.Monitor.RespIPAttr getIpattr() {
      return ipattr_;
    }
    /**
     * <code>optional .msec.monitor.RespIPAttr ipattr = 6;</code>
     */
    public msec.monitor.Monitor.RespIPAttrOrBuilder getIpattrOrBuilder() {
      return ipattr_;
    }

    // optional .msec.monitor.RespTreeList treelist = 10;
    public static final int TREELIST_FIELD_NUMBER = 10;
    private msec.monitor.Monitor.RespTreeList treelist_;
    /**
     * <code>optional .msec.monitor.RespTreeList treelist = 10;</code>
     *
     * <pre>
     *目录树接口
     * </pre>
     */
    public boolean hasTreelist() {
      return ((bitField0_ & 0x00000040) == 0x00000040);
    }
    /**
     * <code>optional .msec.monitor.RespTreeList treelist = 10;</code>
     *
     * <pre>
     *目录树接口
     * </pre>
     */
    public msec.monitor.Monitor.RespTreeList getTreelist() {
      return treelist_;
    }
    /**
     * <code>optional .msec.monitor.RespTreeList treelist = 10;</code>
     *
     * <pre>
     *目录树接口
     * </pre>
     */
    public msec.monitor.Monitor.RespTreeListOrBuilder getTreelistOrBuilder() {
      return treelist_;
    }

    // optional .msec.monitor.RespSetAlarmAttr setalarmattr = 20;
    public static final int SETALARMATTR_FIELD_NUMBER = 20;
    private msec.monitor.Monitor.RespSetAlarmAttr setalarmattr_;
    /**
     * <code>optional .msec.monitor.RespSetAlarmAttr setalarmattr = 20;</code>
     *
     * <pre>
     *告警接口
     * </pre>
     */
    public boolean hasSetalarmattr() {
      return ((bitField0_ & 0x00000080) == 0x00000080);
    }
    /**
     * <code>optional .msec.monitor.RespSetAlarmAttr setalarmattr = 20;</code>
     *
     * <pre>
     *告警接口
     * </pre>
     */
    public msec.monitor.Monitor.RespSetAlarmAttr getSetalarmattr() {
      return setalarmattr_;
    }
    /**
     * <code>optional .msec.monitor.RespSetAlarmAttr setalarmattr = 20;</code>
     *
     * <pre>
     *告警接口
     * </pre>
     */
    public msec.monitor.Monitor.RespSetAlarmAttrOrBuilder getSetalarmattrOrBuilder() {
      return setalarmattr_;
    }

    // optional .msec.monitor.RespDelAlarmAttr delalarmattr = 21;
    public static final int DELALARMATTR_FIELD_NUMBER = 21;
    private msec.monitor.Monitor.RespDelAlarmAttr delalarmattr_;
    /**
     * <code>optional .msec.monitor.RespDelAlarmAttr delalarmattr = 21;</code>
     */
    public boolean hasDelalarmattr() {
      return ((bitField0_ & 0x00000100) == 0x00000100);
    }
    /**
     * <code>optional .msec.monitor.RespDelAlarmAttr delalarmattr = 21;</code>
     */
    public msec.monitor.Monitor.RespDelAlarmAttr getDelalarmattr() {
      return delalarmattr_;
    }
    /**
     * <code>optional .msec.monitor.RespDelAlarmAttr delalarmattr = 21;</code>
     */
    public msec.monitor.Monitor.RespDelAlarmAttrOrBuilder getDelalarmattrOrBuilder() {
      return delalarmattr_;
    }

    // optional .msec.monitor.RespNewestAlarm newalarm = 22;
    public static final int NEWALARM_FIELD_NUMBER = 22;
    private msec.monitor.Monitor.RespNewestAlarm newalarm_;
    /**
     * <code>optional .msec.monitor.RespNewestAlarm newalarm = 22;</code>
     */
    public boolean hasNewalarm() {
      return ((bitField0_ & 0x00000200) == 0x00000200);
    }
    /**
     * <code>optional .msec.monitor.RespNewestAlarm newalarm = 22;</code>
     */
    public msec.monitor.Monitor.RespNewestAlarm getNewalarm() {
      return newalarm_;
    }
    /**
     * <code>optional .msec.monitor.RespNewestAlarm newalarm = 22;</code>
     */
    public msec.monitor.Monitor.RespNewestAlarmOrBuilder getNewalarmOrBuilder() {
      return newalarm_;
    }

    // optional .msec.monitor.RespDelAlarm delalarm = 23;
    public static final int DELALARM_FIELD_NUMBER = 23;
    private msec.monitor.Monitor.RespDelAlarm delalarm_;
    /**
     * <code>optional .msec.monitor.RespDelAlarm delalarm = 23;</code>
     */
    public boolean hasDelalarm() {
      return ((bitField0_ & 0x00000400) == 0x00000400);
    }
    /**
     * <code>optional .msec.monitor.RespDelAlarm delalarm = 23;</code>
     */
    public msec.monitor.Monitor.RespDelAlarm getDelalarm() {
      return delalarm_;
    }
    /**
     * <code>optional .msec.monitor.RespDelAlarm delalarm = 23;</code>
     */
    public msec.monitor.Monitor.RespDelAlarmOrBuilder getDelalarmOrBuilder() {
      return delalarm_;
    }

    private void initFields() {
      result_ = 0;
      service_ = msec.monitor.Monitor.RespService.getDefaultInstance();
      serviceattr_ = msec.monitor.Monitor.RespServiceAttr.getDefaultInstance();
      attrip_ = msec.monitor.Monitor.RespAttrIP.getDefaultInstance();
      ip_ = msec.monitor.Monitor.RespIP.getDefaultInstance();
      ipattr_ = msec.monitor.Monitor.RespIPAttr.getDefaultInstance();
      treelist_ = msec.monitor.Monitor.RespTreeList.getDefaultInstance();
      setalarmattr_ = msec.monitor.Monitor.RespSetAlarmAttr.getDefaultInstance();
      delalarmattr_ = msec.monitor.Monitor.RespDelAlarmAttr.getDefaultInstance();
      newalarm_ = msec.monitor.Monitor.RespNewestAlarm.getDefaultInstance();
      delalarm_ = msec.monitor.Monitor.RespDelAlarm.getDefaultInstance();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeUInt32(1, result_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeMessage(2, service_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeMessage(3, serviceattr_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeMessage(4, attrip_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        output.writeMessage(5, ip_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        output.writeMessage(6, ipattr_);
      }
      if (((bitField0_ & 0x00000040) == 0x00000040)) {
        output.writeMessage(10, treelist_);
      }
      if (((bitField0_ & 0x00000080) == 0x00000080)) {
        output.writeMessage(20, setalarmattr_);
      }
      if (((bitField0_ & 0x00000100) == 0x00000100)) {
        output.writeMessage(21, delalarmattr_);
      }
      if (((bitField0_ & 0x00000200) == 0x00000200)) {
        output.writeMessage(22, newalarm_);
      }
      if (((bitField0_ & 0x00000400) == 0x00000400)) {
        output.writeMessage(23, delalarm_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(1, result_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, service_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, serviceattr_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(4, attrip_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(5, ip_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(6, ipattr_);
      }
      if (((bitField0_ & 0x00000040) == 0x00000040)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(10, treelist_);
      }
      if (((bitField0_ & 0x00000080) == 0x00000080)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(20, setalarmattr_);
      }
      if (((bitField0_ & 0x00000100) == 0x00000100)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(21, delalarmattr_);
      }
      if (((bitField0_ & 0x00000200) == 0x00000200)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(22, newalarm_);
      }
      if (((bitField0_ & 0x00000400) == 0x00000400)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(23, delalarm_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static msec.monitor.Monitor.RespMonitor parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static msec.monitor.Monitor.RespMonitor parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static msec.monitor.Monitor.RespMonitor parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static msec.monitor.Monitor.RespMonitor parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static msec.monitor.Monitor.RespMonitor parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static msec.monitor.Monitor.RespMonitor parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static msec.monitor.Monitor.RespMonitor parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static msec.monitor.Monitor.RespMonitor parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static msec.monitor.Monitor.RespMonitor parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static msec.monitor.Monitor.RespMonitor parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(msec.monitor.Monitor.RespMonitor prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code msec.monitor.RespMonitor}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder>
       implements msec.monitor.Monitor.RespMonitorOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return msec.monitor.Monitor.internal_static_msec_monitor_RespMonitor_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return msec.monitor.Monitor.internal_static_msec_monitor_RespMonitor_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                msec.monitor.Monitor.RespMonitor.class, msec.monitor.Monitor.RespMonitor.Builder.class);
      }

      // Construct using msec.monitor.Monitor.RespMonitor.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getServiceFieldBuilder();
          getServiceattrFieldBuilder();
          getAttripFieldBuilder();
          getIpFieldBuilder();
          getIpattrFieldBuilder();
          getTreelistFieldBuilder();
          getSetalarmattrFieldBuilder();
          getDelalarmattrFieldBuilder();
          getNewalarmFieldBuilder();
          getDelalarmFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        result_ = 0;
        bitField0_ = (bitField0_ & ~0x00000001);
        if (serviceBuilder_ == null) {
          service_ = msec.monitor.Monitor.RespService.getDefaultInstance();
        } else {
          serviceBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        if (serviceattrBuilder_ == null) {
          serviceattr_ = msec.monitor.Monitor.RespServiceAttr.getDefaultInstance();
        } else {
          serviceattrBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000004);
        if (attripBuilder_ == null) {
          attrip_ = msec.monitor.Monitor.RespAttrIP.getDefaultInstance();
        } else {
          attripBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000008);
        if (ipBuilder_ == null) {
          ip_ = msec.monitor.Monitor.RespIP.getDefaultInstance();
        } else {
          ipBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000010);
        if (ipattrBuilder_ == null) {
          ipattr_ = msec.monitor.Monitor.RespIPAttr.getDefaultInstance();
        } else {
          ipattrBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000020);
        if (treelistBuilder_ == null) {
          treelist_ = msec.monitor.Monitor.RespTreeList.getDefaultInstance();
        } else {
          treelistBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000040);
        if (setalarmattrBuilder_ == null) {
          setalarmattr_ = msec.monitor.Monitor.RespSetAlarmAttr.getDefaultInstance();
        } else {
          setalarmattrBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000080);
        if (delalarmattrBuilder_ == null) {
          delalarmattr_ = msec.monitor.Monitor.RespDelAlarmAttr.getDefaultInstance();
        } else {
          delalarmattrBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000100);
        if (newalarmBuilder_ == null) {
          newalarm_ = msec.monitor.Monitor.RespNewestAlarm.getDefaultInstance();
        } else {
          newalarmBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000200);
        if (delalarmBuilder_ == null) {
          delalarm_ = msec.monitor.Monitor.RespDelAlarm.getDefaultInstance();
        } else {
          delalarmBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000400);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return msec.monitor.Monitor.internal_static_msec_monitor_RespMonitor_descriptor;
      }

      public msec.monitor.Monitor.RespMonitor getDefaultInstanceForType() {
        return msec.monitor.Monitor.RespMonitor.getDefaultInstance();
      }

      public msec.monitor.Monitor.RespMonitor build() {
        msec.monitor.Monitor.RespMonitor result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public msec.monitor.Monitor.RespMonitor buildPartial() {
        msec.monitor.Monitor.RespMonitor result = new msec.monitor.Monitor.RespMonitor(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.result_ = result_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        if (serviceBuilder_ == null) {
          result.service_ = service_;
        } else {
          result.service_ = serviceBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        if (serviceattrBuilder_ == null) {
          result.serviceattr_ = serviceattr_;
        } else {
          result.serviceattr_ = serviceattrBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        if (attripBuilder_ == null) {
          result.attrip_ = attrip_;
        } else {
          result.attrip_ = attripBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
          to_bitField0_ |= 0x00000010;
        }
        if (ipBuilder_ == null) {
          result.ip_ = ip_;
        } else {
          result.ip_ = ipBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
          to_bitField0_ |= 0x00000020;
        }
        if (ipattrBuilder_ == null) {
          result.ipattr_ = ipattr_;
        } else {
          result.ipattr_ = ipattrBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
          to_bitField0_ |= 0x00000040;
        }
        if (treelistBuilder_ == null) {
          result.treelist_ = treelist_;
        } else {
          result.treelist_ = treelistBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000080) == 0x00000080)) {
          to_bitField0_ |= 0x00000080;
        }
        if (setalarmattrBuilder_ == null) {
          result.setalarmattr_ = setalarmattr_;
        } else {
          result.setalarmattr_ = setalarmattrBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000100) == 0x00000100)) {
          to_bitField0_ |= 0x00000100;
        }
        if (delalarmattrBuilder_ == null) {
          result.delalarmattr_ = delalarmattr_;
        } else {
          result.delalarmattr_ = delalarmattrBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000200) == 0x00000200)) {
          to_bitField0_ |= 0x00000200;
        }
        if (newalarmBuilder_ == null) {
          result.newalarm_ = newalarm_;
        } else {
          result.newalarm_ = newalarmBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000400) == 0x00000400)) {
          to_bitField0_ |= 0x00000400;
        }
        if (delalarmBuilder_ == null) {
          result.delalarm_ = delalarm_;
        } else {
          result.delalarm_ = delalarmBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof msec.monitor.Monitor.RespMonitor) {
          return mergeFrom((msec.monitor.Monitor.RespMonitor)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(msec.monitor.Monitor.RespMonitor other) {
        if (other == msec.monitor.Monitor.RespMonitor.getDefaultInstance()) return this;
        if (other.hasResult()) {
          setResult(other.getResult());
        }
        if (other.hasService()) {
          mergeService(other.getService());
        }
        if (other.hasServiceattr()) {
          mergeServiceattr(other.getServiceattr());
        }
        if (other.hasAttrip()) {
          mergeAttrip(other.getAttrip());
        }
        if (other.hasIp()) {
          mergeIp(other.getIp());
        }
        if (other.hasIpattr()) {
          mergeIpattr(other.getIpattr());
        }
        if (other.hasTreelist()) {
          mergeTreelist(other.getTreelist());
        }
        if (other.hasSetalarmattr()) {
          mergeSetalarmattr(other.getSetalarmattr());
        }
        if (other.hasDelalarmattr()) {
          mergeDelalarmattr(other.getDelalarmattr());
        }
        if (other.hasNewalarm()) {
          mergeNewalarm(other.getNewalarm());
        }
        if (other.hasDelalarm()) {
          mergeDelalarm(other.getDelalarm());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        msec.monitor.Monitor.RespMonitor parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (msec.monitor.Monitor.RespMonitor) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional uint32 result = 1;
      private int result_ ;
      /**
       * <code>optional uint32 result = 1;</code>
       *
       * <pre>
       *上报数据读取接口
       * </pre>
       */
      public boolean hasResult() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>optional uint32 result = 1;</code>
       *
       * <pre>
       *上报数据读取接口
       * </pre>
       */
      public int getResult() {
        return result_;
      }
      /**
       * <code>optional uint32 result = 1;</code>
       *
       * <pre>
       *上报数据读取接口
       * </pre>
       */
      public Builder setResult(int value) {
        bitField0_ |= 0x00000001;
        result_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional uint32 result = 1;</code>
       *
       * <pre>
       *上报数据读取接口
       * </pre>
       */
      public Builder clearResult() {
        bitField0_ = (bitField0_ & ~0x00000001);
        result_ = 0;
        onChanged();
        return this;
      }

      // optional .msec.monitor.RespService service = 2;
      private msec.monitor.Monitor.RespService service_ = msec.monitor.Monitor.RespService.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          msec.monitor.Monitor.RespService, msec.monitor.Monitor.RespService.Builder, msec.monitor.Monitor.RespServiceOrBuilder> serviceBuilder_;
      /**
       * <code>optional .msec.monitor.RespService service = 2;</code>
       */
      public boolean hasService() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>optional .msec.monitor.RespService service = 2;</code>
       */
      public msec.monitor.Monitor.RespService getService() {
        if (serviceBuilder_ == null) {
          return service_;
        } else {
          return serviceBuilder_.getMessage();
        }
      }
      /**
       * <code>optional .msec.monitor.RespService service = 2;</code>
       */
      public Builder setService(msec.monitor.Monitor.RespService value) {
        if (serviceBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          service_ = value;
          onChanged();
        } else {
          serviceBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * <code>optional .msec.monitor.RespService service = 2;</code>
       */
      public Builder setService(
          msec.monitor.Monitor.RespService.Builder builderForValue) {
        if (serviceBuilder_ == null) {
          service_ = builderForValue.build();
          onChanged();
        } else {
          serviceBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * <code>optional .msec.monitor.RespService service = 2;</code>
       */
      public Builder mergeService(msec.monitor.Monitor.RespService value) {
        if (serviceBuilder_ == null) {
          if (((bitField0_ & 0x00000002) == 0x00000002) &&
              service_ != msec.monitor.Monitor.RespService.getDefaultInstance()) {
            service_ =
              msec.monitor.Monitor.RespService.newBuilder(service_).mergeFrom(value).buildPartial();
          } else {
            service_ = value;
          }
          onChanged();
        } else {
          serviceBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * <code>optional .msec.monitor.RespService service = 2;</code>
       */
      public Builder clearService() {
        if (serviceBuilder_ == null) {
          service_ = msec.monitor.Monitor.RespService.getDefaultInstance();
          onChanged();
        } else {
          serviceBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }
      /**
       * <code>optional .msec.monitor.RespService service = 2;</code>
       */
      public msec.monitor.Monitor.RespService.Builder getServiceBuilder() {
        bitField0_ |= 0x00000002;
        onChanged();
        return getServiceFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .msec.monitor.RespService service = 2;</code>
       */
      public msec.monitor.Monitor.RespServiceOrBuilder getServiceOrBuilder() {
        if (serviceBuilder_ != null) {
          return serviceBuilder_.getMessageOrBuilder();
        } else {
          return service_;
        }
      }
      /**
       * <code>optional .msec.monitor.RespService service = 2;</code>
       */
      private com.google.protobuf.SingleFieldBuilder<
          msec.monitor.Monitor.RespService, msec.monitor.Monitor.RespService.Builder, msec.monitor.Monitor.RespServiceOrBuilder>
          getServiceFieldBuilder() {
        if (serviceBuilder_ == null) {
          serviceBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              msec.monitor.Monitor.RespService, msec.monitor.Monitor.RespService.Builder, msec.monitor.Monitor.RespServiceOrBuilder>(
                  service_,
                  getParentForChildren(),
                  isClean());
          service_ = null;
        }
        return serviceBuilder_;
      }

      // optional .msec.monitor.RespServiceAttr serviceattr = 3;
      private msec.monitor.Monitor.RespServiceAttr serviceattr_ = msec.monitor.Monitor.RespServiceAttr.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          msec.monitor.Monitor.RespServiceAttr, msec.monitor.Monitor.RespServiceAttr.Builder, msec.monitor.Monitor.RespServiceAttrOrBuilder> serviceattrBuilder_;
      /**
       * <code>optional .msec.monitor.RespServiceAttr serviceattr = 3;</code>
       */
      public boolean hasServiceattr() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * <code>optional .msec.monitor.RespServiceAttr serviceattr = 3;</code>
       */
      public msec.monitor.Monitor.RespServiceAttr getServiceattr() {
        if (serviceattrBuilder_ == null) {
          return serviceattr_;
        } else {
          return serviceattrBuilder_.getMessage();
        }
      }
      /**
       * <code>optional .msec.monitor.RespServiceAttr serviceattr = 3;</code>
       */
      public Builder setServiceattr(msec.monitor.Monitor.RespServiceAttr value) {
        if (serviceattrBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          serviceattr_ = value;
          onChanged();
        } else {
          serviceattrBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * <code>optional .msec.monitor.RespServiceAttr serviceattr = 3;</code>
       */
      public Builder setServiceattr(
          msec.monitor.Monitor.RespServiceAttr.Builder builderForValue) {
        if (serviceattrBuilder_ == null) {
          serviceattr_ = builderForValue.build();
          onChanged();
        } else {
          serviceattrBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * <code>optional .msec.monitor.RespServiceAttr serviceattr = 3;</code>
       */
      public Builder mergeServiceattr(msec.monitor.Monitor.RespServiceAttr value) {
        if (serviceattrBuilder_ == null) {
          if (((bitField0_ & 0x00000004) == 0x00000004) &&
              serviceattr_ != msec.monitor.Monitor.RespServiceAttr.getDefaultInstance()) {
            serviceattr_ =
              msec.monitor.Monitor.RespServiceAttr.newBuilder(serviceattr_).mergeFrom(value).buildPartial();
          } else {
            serviceattr_ = value;
          }
          onChanged();
        } else {
          serviceattrBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * <code>optional .msec.monitor.RespServiceAttr serviceattr = 3;</code>
       */
      public Builder clearServiceattr() {
        if (serviceattrBuilder_ == null) {
          serviceattr_ = msec.monitor.Monitor.RespServiceAttr.getDefaultInstance();
          onChanged();
        } else {
          serviceattrBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }
      /**
       * <code>optional .msec.monitor.RespServiceAttr serviceattr = 3;</code>
       */
      public msec.monitor.Monitor.RespServiceAttr.Builder getServiceattrBuilder() {
        bitField0_ |= 0x00000004;
        onChanged();
        return getServiceattrFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .msec.monitor.RespServiceAttr serviceattr = 3;</code>
       */
      public msec.monitor.Monitor.RespServiceAttrOrBuilder getServiceattrOrBuilder() {
        if (serviceattrBuilder_ != null) {
          return serviceattrBuilder_.getMessageOrBuilder();
        } else {
          return serviceattr_;
        }
      }
      /**
       * <code>optional .msec.monitor.RespServiceAttr serviceattr = 3;</code>
       */
      private com.google.protobuf.SingleFieldBuilder<
          msec.monitor.Monitor.RespServiceAttr, msec.monitor.Monitor.RespServiceAttr.Builder, msec.monitor.Monitor.RespServiceAttrOrBuilder>
          getServiceattrFieldBuilder() {
        if (serviceattrBuilder_ == null) {
          serviceattrBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              msec.monitor.Monitor.RespServiceAttr, msec.monitor.Monitor.RespServiceAttr.Builder, msec.monitor.Monitor.RespServiceAttrOrBuilder>(
                  serviceattr_,
                  getParentForChildren(),
                  isClean());
          serviceattr_ = null;
        }
        return serviceattrBuilder_;
      }

      // optional .msec.monitor.RespAttrIP attrip = 4;
      private msec.monitor.Monitor.RespAttrIP attrip_ = msec.monitor.Monitor.RespAttrIP.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          msec.monitor.Monitor.RespAttrIP, msec.monitor.Monitor.RespAttrIP.Builder, msec.monitor.Monitor.RespAttrIPOrBuilder> attripBuilder_;
      /**
       * <code>optional .msec.monitor.RespAttrIP attrip = 4;</code>
       */
      public boolean hasAttrip() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * <code>optional .msec.monitor.RespAttrIP attrip = 4;</code>
       */
      public msec.monitor.Monitor.RespAttrIP getAttrip() {
        if (attripBuilder_ == null) {
          return attrip_;
        } else {
          return attripBuilder_.getMessage();
        }
      }
      /**
       * <code>optional .msec.monitor.RespAttrIP attrip = 4;</code>
       */
      public Builder setAttrip(msec.monitor.Monitor.RespAttrIP value) {
        if (attripBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          attrip_ = value;
          onChanged();
        } else {
          attripBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000008;
        return this;
      }
      /**
       * <code>optional .msec.monitor.RespAttrIP attrip = 4;</code>
       */
      public Builder setAttrip(
          msec.monitor.Monitor.RespAttrIP.Builder builderForValue) {
        if (attripBuilder_ == null) {
          attrip_ = builderForValue.build();
          onChanged();
        } else {
          attripBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000008;
        return this;
      }
      /**
       * <code>optional .msec.monitor.RespAttrIP attrip = 4;</code>
       */
      public Builder mergeAttrip(msec.monitor.Monitor.RespAttrIP value) {
        if (attripBuilder_ == null) {
          if (((bitField0_ & 0x00000008) == 0x00000008) &&
              attrip_ != msec.monitor.Monitor.RespAttrIP.getDefaultInstance()) {
            attrip_ =
              msec.monitor.Monitor.RespAttrIP.newBuilder(attrip_).mergeFrom(value).buildPartial();
          } else {
            attrip_ = value;
          }
          onChanged();
        } else {
          attripBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000008;
        return this;
      }
      /**
       * <code>optional .msec.monitor.RespAttrIP attrip = 4;</code>
       */
      public Builder clearAttrip() {
        if (attripBuilder_ == null) {
          attrip_ = msec.monitor.Monitor.RespAttrIP.getDefaultInstance();
          onChanged();
        } else {
          attripBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000008);
        return this;
      }
      /**
       * <code>optional .msec.monitor.RespAttrIP attrip = 4;</code>
       */
      public msec.monitor.Monitor.RespAttrIP.Builder getAttripBuilder() {
        bitField0_ |= 0x00000008;
        onChanged();
        return getAttripFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .msec.monitor.RespAttrIP attrip = 4;</code>
       */
      public msec.monitor.Monitor.RespAttrIPOrBuilder getAttripOrBuilder() {
        if (attripBuilder_ != null) {
          return attripBuilder_.getMessageOrBuilder();
        } else {
          return attrip_;
        }
      }
      /**
       * <code>optional .msec.monitor.RespAttrIP attrip = 4;</code>
       */
      private com.google.protobuf.SingleFieldBuilder<
          msec.monitor.Monitor.RespAttrIP, msec.monitor.Monitor.RespAttrIP.Builder, msec.monitor.Monitor.RespAttrIPOrBuilder>
          getAttripFieldBuilder() {
        if (attripBuilder_ == null) {
          attripBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              msec.monitor.Monitor.RespAttrIP, msec.monitor.Monitor.RespAttrIP.Builder, msec.monitor.Monitor.RespAttrIPOrBuilder>(
                  attrip_,
                  getParentForChildren(),
                  isClean());
          attrip_ = null;
        }
        return attripBuilder_;
      }

      // optional .msec.monitor.RespIP ip = 5;
      private msec.monitor.Monitor.RespIP ip_ = msec.monitor.Monitor.RespIP.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          msec.monitor.Monitor.RespIP, msec.monitor.Monitor.RespIP.Builder, msec.monitor.Monitor.RespIPOrBuilder> ipBuilder_;
      /**
       * <code>optional .msec.monitor.RespIP ip = 5;</code>
       */
      public boolean hasIp() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      /**
       * <code>optional .msec.monitor.RespIP ip = 5;</code>
       */
      public msec.monitor.Monitor.RespIP getIp() {
        if (ipBuilder_ == null) {
          return ip_;
        } else {
          return ipBuilder_.getMessage();
        }
      }
      /**
       * <code>optional .msec.monitor.RespIP ip = 5;</code>
       */
      public Builder setIp(msec.monitor.Monitor.RespIP value) {
        if (ipBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ip_ = value;
          onChanged();
        } else {
          ipBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000010;
        return this;
      }
      /**
       * <code>optional .msec.monitor.RespIP ip = 5;</code>
       */
      public Builder setIp(
          msec.monitor.Monitor.RespIP.Builder builderForValue) {
        if (ipBuilder_ == null) {
          ip_ = builderForValue.build();
          onChanged();
        } else {
          ipBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000010;
        return this;
      }
      /**
       * <code>optional .msec.monitor.RespIP ip = 5;</code>
       */
      public Builder mergeIp(msec.monitor.Monitor.RespIP value) {
        if (ipBuilder_ == null) {
          if (((bitField0_ & 0x00000010) == 0x00000010) &&
              ip_ != msec.monitor.Monitor.RespIP.getDefaultInstance()) {
            ip_ =
              msec.monitor.Monitor.RespIP.newBuilder(ip_).mergeFrom(value).buildPartial();
          } else {
            ip_ = value;
          }
          onChanged();
        } else {
          ipBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000010;
        return this;
      }
      /**
       * <code>optional .msec.monitor.RespIP ip = 5;</code>
       */
      public Builder clearIp() {
        if (ipBuilder_ == null) {
          ip_ = msec.monitor.Monitor.RespIP.getDefaultInstance();
          onChanged();
        } else {
          ipBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000010);
        return this;
      }
      /**
       * <code>optional .msec.monitor.RespIP ip = 5;</code>
       */
      public msec.monitor.Monitor.RespIP.Builder getIpBuilder() {
        bitField0_ |= 0x00000010;
        onChanged();
        return getIpFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .msec.monitor.RespIP ip = 5;</code>
       */
      public msec.monitor.Monitor.RespIPOrBuilder getIpOrBuilder() {
        if (ipBuilder_ != null) {
          return ipBuilder_.getMessageOrBuilder();
        } else {
          return ip_;
        }
      }
      /**
       * <code>optional .msec.monitor.RespIP ip = 5;</code>
       */
      private com.google.protobuf.SingleFieldBuilder<
          msec.monitor.Monitor.RespIP, msec.monitor.Monitor.RespIP.Builder, msec.monitor.Monitor.RespIPOrBuilder>
          getIpFieldBuilder() {
        if (ipBuilder_ == null) {
          ipBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              msec.monitor.Monitor.RespIP, msec.monitor.Monitor.RespIP.Builder, msec.monitor.Monitor.RespIPOrBuilder>(
                  ip_,
                  getParentForChildren(),
                  isClean());
          ip_ = null;
        }
        return ipBuilder_;
      }

      // optional .msec.monitor.RespIPAttr ipattr = 6;
      private msec.monitor.Monitor.RespIPAttr ipattr_ = msec.monitor.Monitor.RespIPAttr.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          msec.monitor.Monitor.RespIPAttr, msec.monitor.Monitor.RespIPAttr.Builder, msec.monitor.Monitor.RespIPAttrOrBuilder> ipattrBuilder_;
      /**
       * <code>optional .msec.monitor.RespIPAttr ipattr = 6;</code>
       */
      public boolean hasIpattr() {
        return ((bitField0_ & 0x00000020) == 0x00000020);
      }
      /**
       * <code>optional .msec.monitor.RespIPAttr ipattr = 6;</code>
       */
      public msec.monitor.Monitor.RespIPAttr getIpattr() {
        if (ipattrBuilder_ == null) {
          return ipattr_;
        } else {
          return ipattrBuilder_.getMessage();
        }
      }
      /**
       * <code>optional .msec.monitor.RespIPAttr ipattr = 6;</code>
       */
      public Builder setIpattr(msec.monitor.Monitor.RespIPAttr value) {
        if (ipattrBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ipattr_ = value;
          onChanged();
        } else {
          ipattrBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000020;
        return this;
      }
      /**
       * <code>optional .msec.monitor.RespIPAttr ipattr = 6;</code>
       */
      public Builder setIpattr(
          msec.monitor.Monitor.RespIPAttr.Builder builderForValue) {
        if (ipattrBuilder_ == null) {
          ipattr_ = builderForValue.build();
          onChanged();
        } else {
          ipattrBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000020;
        return this;
      }
      /**
       * <code>optional .msec.monitor.RespIPAttr ipattr = 6;</code>
       */
      public Builder mergeIpattr(msec.monitor.Monitor.RespIPAttr value) {
        if (ipattrBuilder_ == null) {
          if (((bitField0_ & 0x00000020) == 0x00000020) &&
              ipattr_ != msec.monitor.Monitor.RespIPAttr.getDefaultInstance()) {
            ipattr_ =
              msec.monitor.Monitor.RespIPAttr.newBuilder(ipattr_).mergeFrom(value).buildPartial();
          } else {
            ipattr_ = value;
          }
          onChanged();
        } else {
          ipattrBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000020;
        return this;
      }
      /**
       * <code>optional .msec.monitor.RespIPAttr ipattr = 6;</code>
       */
      public Builder clearIpattr() {
        if (ipattrBuilder_ == null) {
          ipattr_ = msec.monitor.Monitor.RespIPAttr.getDefaultInstance();
          onChanged();
        } else {
          ipattrBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000020);
        return this;
      }
      /**
       * <code>optional .msec.monitor.RespIPAttr ipattr = 6;</code>
       */
      public msec.monitor.Monitor.RespIPAttr.Builder getIpattrBuilder() {
        bitField0_ |= 0x00000020;
        onChanged();
        return getIpattrFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .msec.monitor.RespIPAttr ipattr = 6;</code>
       */
      public msec.monitor.Monitor.RespIPAttrOrBuilder getIpattrOrBuilder() {
        if (ipattrBuilder_ != null) {
          return ipattrBuilder_.getMessageOrBuilder();
        } else {
          return ipattr_;
        }
      }
      /**
       * <code>optional .msec.monitor.RespIPAttr ipattr = 6;</code>
       */
      private com.google.protobuf.SingleFieldBuilder<
          msec.monitor.Monitor.RespIPAttr, msec.monitor.Monitor.RespIPAttr.Builder, msec.monitor.Monitor.RespIPAttrOrBuilder>
          getIpattrFieldBuilder() {
        if (ipattrBuilder_ == null) {
          ipattrBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              msec.monitor.Monitor.RespIPAttr, msec.monitor.Monitor.RespIPAttr.Builder, msec.monitor.Monitor.RespIPAttrOrBuilder>(
                  ipattr_,
                  getParentForChildren(),
                  isClean());
          ipattr_ = null;
        }
        return ipattrBuilder_;
      }

      // optional .msec.monitor.RespTreeList treelist = 10;
      private msec.monitor.Monitor.RespTreeList treelist_ = msec.monitor.Monitor.RespTreeList.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          msec.monitor.Monitor.RespTreeList, msec.monitor.Monitor.RespTreeList.Builder, msec.monitor.Monitor.RespTreeListOrBuilder> treelistBuilder_;
      /**
       * <code>optional .msec.monitor.RespTreeList treelist = 10;</code>
       *
       * <pre>
       *目录树接口
       * </pre>
       */
      public boolean hasTreelist() {
        return ((bitField0_ & 0x00000040) == 0x00000040);
      }
      /**
       * <code>optional .msec.monitor.RespTreeList treelist = 10;</code>
       *
       * <pre>
       *目录树接口
       * </pre>
       */
      public msec.monitor.Monitor.RespTreeList getTreelist() {
        if (treelistBuilder_ == null) {
          return treelist_;
        } else {
          return treelistBuilder_.getMessage();
        }
      }
      /**
       * <code>optional .msec.monitor.RespTreeList treelist = 10;</code>
       *
       * <pre>
       *目录树接口
       * </pre>
       */
      public Builder setTreelist(msec.monitor.Monitor.RespTreeList value) {
        if (treelistBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          treelist_ = value;
          onChanged();
        } else {
          treelistBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000040;
        return this;
      }
      /**
       * <code>optional .msec.monitor.RespTreeList treelist = 10;</code>
       *
       * <pre>
       *目录树接口
       * </pre>
       */
      public Builder setTreelist(
          msec.monitor.Monitor.RespTreeList.Builder builderForValue) {
        if (treelistBuilder_ == null) {
          treelist_ = builderForValue.build();
          onChanged();
        } else {
          treelistBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000040;
        return this;
      }
      /**
       * <code>optional .msec.monitor.RespTreeList treelist = 10;</code>
       *
       * <pre>
       *目录树接口
       * </pre>
       */
      public Builder mergeTreelist(msec.monitor.Monitor.RespTreeList value) {
        if (treelistBuilder_ == null) {
          if (((bitField0_ & 0x00000040) == 0x00000040) &&
              treelist_ != msec.monitor.Monitor.RespTreeList.getDefaultInstance()) {
            treelist_ =
              msec.monitor.Monitor.RespTreeList.newBuilder(treelist_).mergeFrom(value).buildPartial();
          } else {
            treelist_ = value;
          }
          onChanged();
        } else {
          treelistBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000040;
        return this;
      }
      /**
       * <code>optional .msec.monitor.RespTreeList treelist = 10;</code>
       *
       * <pre>
       *目录树接口
       * </pre>
       */
      public Builder clearTreelist() {
        if (treelistBuilder_ == null) {
          treelist_ = msec.monitor.Monitor.RespTreeList.getDefaultInstance();
          onChanged();
        } else {
          treelistBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000040);
        return this;
      }
      /**
       * <code>optional .msec.monitor.RespTreeList treelist = 10;</code>
       *
       * <pre>
       *目录树接口
       * </pre>
       */
      public msec.monitor.Monitor.RespTreeList.Builder getTreelistBuilder() {
        bitField0_ |= 0x00000040;
        onChanged();
        return getTreelistFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .msec.monitor.RespTreeList treelist = 10;</code>
       *
       * <pre>
       *目录树接口
       * </pre>
       */
      public msec.monitor.Monitor.RespTreeListOrBuilder getTreelistOrBuilder() {
        if (treelistBuilder_ != null) {
          return treelistBuilder_.getMessageOrBuilder();
        } else {
          return treelist_;
        }
      }
      /**
       * <code>optional .msec.monitor.RespTreeList treelist = 10;</code>
       *
       * <pre>
       *目录树接口
       * </pre>
       */
      private com.google.protobuf.SingleFieldBuilder<
          msec.monitor.Monitor.RespTreeList, msec.monitor.Monitor.RespTreeList.Builder, msec.monitor.Monitor.RespTreeListOrBuilder>
          getTreelistFieldBuilder() {
        if (treelistBuilder_ == null) {
          treelistBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              msec.monitor.Monitor.RespTreeList, msec.monitor.Monitor.RespTreeList.Builder, msec.monitor.Monitor.RespTreeListOrBuilder>(
                  treelist_,
                  getParentForChildren(),
                  isClean());
          treelist_ = null;
        }
        return treelistBuilder_;
      }

      // optional .msec.monitor.RespSetAlarmAttr setalarmattr = 20;
      private msec.monitor.Monitor.RespSetAlarmAttr setalarmattr_ = msec.monitor.Monitor.RespSetAlarmAttr.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          msec.monitor.Monitor.RespSetAlarmAttr, msec.monitor.Monitor.RespSetAlarmAttr.Builder, msec.monitor.Monitor.RespSetAlarmAttrOrBuilder> setalarmattrBuilder_;
      /**
       * <code>optional .msec.monitor.RespSetAlarmAttr setalarmattr = 20;</code>
       *
       * <pre>
       *告警接口
       * </pre>
       */
      public boolean hasSetalarmattr() {
        return ((bitField0_ & 0x00000080) == 0x00000080);
      }
      /**
       * <code>optional .msec.monitor.RespSetAlarmAttr setalarmattr = 20;</code>
       *
       * <pre>
       *告警接口
       * </pre>
       */
      public msec.monitor.Monitor.RespSetAlarmAttr getSetalarmattr() {
        if (setalarmattrBuilder_ == null) {
          return setalarmattr_;
        } else {
          return setalarmattrBuilder_.getMessage();
        }
      }
      /**
       * <code>optional .msec.monitor.RespSetAlarmAttr setalarmattr = 20;</code>
       *
       * <pre>
       *告警接口
       * </pre>
       */
      public Builder setSetalarmattr(msec.monitor.Monitor.RespSetAlarmAttr value) {
        if (setalarmattrBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          setalarmattr_ = value;
          onChanged();
        } else {
          setalarmattrBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000080;
        return this;
      }
      /**
       * <code>optional .msec.monitor.RespSetAlarmAttr setalarmattr = 20;</code>
       *
       * <pre>
       *告警接口
       * </pre>
       */
      public Builder setSetalarmattr(
          msec.monitor.Monitor.RespSetAlarmAttr.Builder builderForValue) {
        if (setalarmattrBuilder_ == null) {
          setalarmattr_ = builderForValue.build();
          onChanged();
        } else {
          setalarmattrBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000080;
        return this;
      }
      /**
       * <code>optional .msec.monitor.RespSetAlarmAttr setalarmattr = 20;</code>
       *
       * <pre>
       *告警接口
       * </pre>
       */
      public Builder mergeSetalarmattr(msec.monitor.Monitor.RespSetAlarmAttr value) {
        if (setalarmattrBuilder_ == null) {
          if (((bitField0_ & 0x00000080) == 0x00000080) &&
              setalarmattr_ != msec.monitor.Monitor.RespSetAlarmAttr.getDefaultInstance()) {
            setalarmattr_ =
              msec.monitor.Monitor.RespSetAlarmAttr.newBuilder(setalarmattr_).mergeFrom(value).buildPartial();
          } else {
            setalarmattr_ = value;
          }
          onChanged();
        } else {
          setalarmattrBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000080;
        return this;
      }
      /**
       * <code>optional .msec.monitor.RespSetAlarmAttr setalarmattr = 20;</code>
       *
       * <pre>
       *告警接口
       * </pre>
       */
      public Builder clearSetalarmattr() {
        if (setalarmattrBuilder_ == null) {
          setalarmattr_ = msec.monitor.Monitor.RespSetAlarmAttr.getDefaultInstance();
          onChanged();
        } else {
          setalarmattrBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000080);
        return this;
      }
      /**
       * <code>optional .msec.monitor.RespSetAlarmAttr setalarmattr = 20;</code>
       *
       * <pre>
       *告警接口
       * </pre>
       */
      public msec.monitor.Monitor.RespSetAlarmAttr.Builder getSetalarmattrBuilder() {
        bitField0_ |= 0x00000080;
        onChanged();
        return getSetalarmattrFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .msec.monitor.RespSetAlarmAttr setalarmattr = 20;</code>
       *
       * <pre>
       *告警接口
       * </pre>
       */
      public msec.monitor.Monitor.RespSetAlarmAttrOrBuilder getSetalarmattrOrBuilder() {
        if (setalarmattrBuilder_ != null) {
          return setalarmattrBuilder_.getMessageOrBuilder();
        } else {
          return setalarmattr_;
        }
      }
      /**
       * <code>optional .msec.monitor.RespSetAlarmAttr setalarmattr = 20;</code>
       *
       * <pre>
       *告警接口
       * </pre>
       */
      private com.google.protobuf.SingleFieldBuilder<
          msec.monitor.Monitor.RespSetAlarmAttr, msec.monitor.Monitor.RespSetAlarmAttr.Builder, msec.monitor.Monitor.RespSetAlarmAttrOrBuilder>
          getSetalarmattrFieldBuilder() {
        if (setalarmattrBuilder_ == null) {
          setalarmattrBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              msec.monitor.Monitor.RespSetAlarmAttr, msec.monitor.Monitor.RespSetAlarmAttr.Builder, msec.monitor.Monitor.RespSetAlarmAttrOrBuilder>(
                  setalarmattr_,
                  getParentForChildren(),
                  isClean());
          setalarmattr_ = null;
        }
        return setalarmattrBuilder_;
      }

      // optional .msec.monitor.RespDelAlarmAttr delalarmattr = 21;
      private msec.monitor.Monitor.RespDelAlarmAttr delalarmattr_ = msec.monitor.Monitor.RespDelAlarmAttr.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          msec.monitor.Monitor.RespDelAlarmAttr, msec.monitor.Monitor.RespDelAlarmAttr.Builder, msec.monitor.Monitor.RespDelAlarmAttrOrBuilder> delalarmattrBuilder_;
      /**
       * <code>optional .msec.monitor.RespDelAlarmAttr delalarmattr = 21;</code>
       */
      public boolean hasDelalarmattr() {
        return ((bitField0_ & 0x00000100) == 0x00000100);
      }
      /**
       * <code>optional .msec.monitor.RespDelAlarmAttr delalarmattr = 21;</code>
       */
      public msec.monitor.Monitor.RespDelAlarmAttr getDelalarmattr() {
        if (delalarmattrBuilder_ == null) {
          return delalarmattr_;
        } else {
          return delalarmattrBuilder_.getMessage();
        }
      }
      /**
       * <code>optional .msec.monitor.RespDelAlarmAttr delalarmattr = 21;</code>
       */
      public Builder setDelalarmattr(msec.monitor.Monitor.RespDelAlarmAttr value) {
        if (delalarmattrBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          delalarmattr_ = value;
          onChanged();
        } else {
          delalarmattrBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000100;
        return this;
      }
      /**
       * <code>optional .msec.monitor.RespDelAlarmAttr delalarmattr = 21;</code>
       */
      public Builder setDelalarmattr(
          msec.monitor.Monitor.RespDelAlarmAttr.Builder builderForValue) {
        if (delalarmattrBuilder_ == null) {
          delalarmattr_ = builderForValue.build();
          onChanged();
        } else {
          delalarmattrBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000100;
        return this;
      }
      /**
       * <code>optional .msec.monitor.RespDelAlarmAttr delalarmattr = 21;</code>
       */
      public Builder mergeDelalarmattr(msec.monitor.Monitor.RespDelAlarmAttr value) {
        if (delalarmattrBuilder_ == null) {
          if (((bitField0_ & 0x00000100) == 0x00000100) &&
              delalarmattr_ != msec.monitor.Monitor.RespDelAlarmAttr.getDefaultInstance()) {
            delalarmattr_ =
              msec.monitor.Monitor.RespDelAlarmAttr.newBuilder(delalarmattr_).mergeFrom(value).buildPartial();
          } else {
            delalarmattr_ = value;
          }
          onChanged();
        } else {
          delalarmattrBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000100;
        return this;
      }
      /**
       * <code>optional .msec.monitor.RespDelAlarmAttr delalarmattr = 21;</code>
       */
      public Builder clearDelalarmattr() {
        if (delalarmattrBuilder_ == null) {
          delalarmattr_ = msec.monitor.Monitor.RespDelAlarmAttr.getDefaultInstance();
          onChanged();
        } else {
          delalarmattrBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000100);
        return this;
      }
      /**
       * <code>optional .msec.monitor.RespDelAlarmAttr delalarmattr = 21;</code>
       */
      public msec.monitor.Monitor.RespDelAlarmAttr.Builder getDelalarmattrBuilder() {
        bitField0_ |= 0x00000100;
        onChanged();
        return getDelalarmattrFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .msec.monitor.RespDelAlarmAttr delalarmattr = 21;</code>
       */
      public msec.monitor.Monitor.RespDelAlarmAttrOrBuilder getDelalarmattrOrBuilder() {
        if (delalarmattrBuilder_ != null) {
          return delalarmattrBuilder_.getMessageOrBuilder();
        } else {
          return delalarmattr_;
        }
      }
      /**
       * <code>optional .msec.monitor.RespDelAlarmAttr delalarmattr = 21;</code>
       */
      private com.google.protobuf.SingleFieldBuilder<
          msec.monitor.Monitor.RespDelAlarmAttr, msec.monitor.Monitor.RespDelAlarmAttr.Builder, msec.monitor.Monitor.RespDelAlarmAttrOrBuilder>
          getDelalarmattrFieldBuilder() {
        if (delalarmattrBuilder_ == null) {
          delalarmattrBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              msec.monitor.Monitor.RespDelAlarmAttr, msec.monitor.Monitor.RespDelAlarmAttr.Builder, msec.monitor.Monitor.RespDelAlarmAttrOrBuilder>(
                  delalarmattr_,
                  getParentForChildren(),
                  isClean());
          delalarmattr_ = null;
        }
        return delalarmattrBuilder_;
      }

      // optional .msec.monitor.RespNewestAlarm newalarm = 22;
      private msec.monitor.Monitor.RespNewestAlarm newalarm_ = msec.monitor.Monitor.RespNewestAlarm.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          msec.monitor.Monitor.RespNewestAlarm, msec.monitor.Monitor.RespNewestAlarm.Builder, msec.monitor.Monitor.RespNewestAlarmOrBuilder> newalarmBuilder_;
      /**
       * <code>optional .msec.monitor.RespNewestAlarm newalarm = 22;</code>
       */
      public boolean hasNewalarm() {
        return ((bitField0_ & 0x00000200) == 0x00000200);
      }
      /**
       * <code>optional .msec.monitor.RespNewestAlarm newalarm = 22;</code>
       */
      public msec.monitor.Monitor.RespNewestAlarm getNewalarm() {
        if (newalarmBuilder_ == null) {
          return newalarm_;
        } else {
          return newalarmBuilder_.getMessage();
        }
      }
      /**
       * <code>optional .msec.monitor.RespNewestAlarm newalarm = 22;</code>
       */
      public Builder setNewalarm(msec.monitor.Monitor.RespNewestAlarm value) {
        if (newalarmBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          newalarm_ = value;
          onChanged();
        } else {
          newalarmBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000200;
        return this;
      }
      /**
       * <code>optional .msec.monitor.RespNewestAlarm newalarm = 22;</code>
       */
      public Builder setNewalarm(
          msec.monitor.Monitor.RespNewestAlarm.Builder builderForValue) {
        if (newalarmBuilder_ == null) {
          newalarm_ = builderForValue.build();
          onChanged();
        } else {
          newalarmBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000200;
        return this;
      }
      /**
       * <code>optional .msec.monitor.RespNewestAlarm newalarm = 22;</code>
       */
      public Builder mergeNewalarm(msec.monitor.Monitor.RespNewestAlarm value) {
        if (newalarmBuilder_ == null) {
          if (((bitField0_ & 0x00000200) == 0x00000200) &&
              newalarm_ != msec.monitor.Monitor.RespNewestAlarm.getDefaultInstance()) {
            newalarm_ =
              msec.monitor.Monitor.RespNewestAlarm.newBuilder(newalarm_).mergeFrom(value).buildPartial();
          } else {
            newalarm_ = value;
          }
          onChanged();
        } else {
          newalarmBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000200;
        return this;
      }
      /**
       * <code>optional .msec.monitor.RespNewestAlarm newalarm = 22;</code>
       */
      public Builder clearNewalarm() {
        if (newalarmBuilder_ == null) {
          newalarm_ = msec.monitor.Monitor.RespNewestAlarm.getDefaultInstance();
          onChanged();
        } else {
          newalarmBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000200);
        return this;
      }
      /**
       * <code>optional .msec.monitor.RespNewestAlarm newalarm = 22;</code>
       */
      public msec.monitor.Monitor.RespNewestAlarm.Builder getNewalarmBuilder() {
        bitField0_ |= 0x00000200;
        onChanged();
        return getNewalarmFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .msec.monitor.RespNewestAlarm newalarm = 22;</code>
       */
      public msec.monitor.Monitor.RespNewestAlarmOrBuilder getNewalarmOrBuilder() {
        if (newalarmBuilder_ != null) {
          return newalarmBuilder_.getMessageOrBuilder();
        } else {
          return newalarm_;
        }
      }
      /**
       * <code>optional .msec.monitor.RespNewestAlarm newalarm = 22;</code>
       */
      private com.google.protobuf.SingleFieldBuilder<
          msec.monitor.Monitor.RespNewestAlarm, msec.monitor.Monitor.RespNewestAlarm.Builder, msec.monitor.Monitor.RespNewestAlarmOrBuilder>
          getNewalarmFieldBuilder() {
        if (newalarmBuilder_ == null) {
          newalarmBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              msec.monitor.Monitor.RespNewestAlarm, msec.monitor.Monitor.RespNewestAlarm.Builder, msec.monitor.Monitor.RespNewestAlarmOrBuilder>(
                  newalarm_,
                  getParentForChildren(),
                  isClean());
          newalarm_ = null;
        }
        return newalarmBuilder_;
      }

      // optional .msec.monitor.RespDelAlarm delalarm = 23;
      private msec.monitor.Monitor.RespDelAlarm delalarm_ = msec.monitor.Monitor.RespDelAlarm.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          msec.monitor.Monitor.RespDelAlarm, msec.monitor.Monitor.RespDelAlarm.Builder, msec.monitor.Monitor.RespDelAlarmOrBuilder> delalarmBuilder_;
      /**
       * <code>optional .msec.monitor.RespDelAlarm delalarm = 23;</code>
       */
      public boolean hasDelalarm() {
        return ((bitField0_ & 0x00000400) == 0x00000400);
      }
      /**
       * <code>optional .msec.monitor.RespDelAlarm delalarm = 23;</code>
       */
      public msec.monitor.Monitor.RespDelAlarm getDelalarm() {
        if (delalarmBuilder_ == null) {
          return delalarm_;
        } else {
          return delalarmBuilder_.getMessage();
        }
      }
      /**
       * <code>optional .msec.monitor.RespDelAlarm delalarm = 23;</code>
       */
      public Builder setDelalarm(msec.monitor.Monitor.RespDelAlarm value) {
        if (delalarmBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          delalarm_ = value;
          onChanged();
        } else {
          delalarmBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000400;
        return this;
      }
      /**
       * <code>optional .msec.monitor.RespDelAlarm delalarm = 23;</code>
       */
      public Builder setDelalarm(
          msec.monitor.Monitor.RespDelAlarm.Builder builderForValue) {
        if (delalarmBuilder_ == null) {
          delalarm_ = builderForValue.build();
          onChanged();
        } else {
          delalarmBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000400;
        return this;
      }
      /**
       * <code>optional .msec.monitor.RespDelAlarm delalarm = 23;</code>
       */
      public Builder mergeDelalarm(msec.monitor.Monitor.RespDelAlarm value) {
        if (delalarmBuilder_ == null) {
          if (((bitField0_ & 0x00000400) == 0x00000400) &&
              delalarm_ != msec.monitor.Monitor.RespDelAlarm.getDefaultInstance()) {
            delalarm_ =
              msec.monitor.Monitor.RespDelAlarm.newBuilder(delalarm_).mergeFrom(value).buildPartial();
          } else {
            delalarm_ = value;
          }
          onChanged();
        } else {
          delalarmBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000400;
        return this;
      }
      /**
       * <code>optional .msec.monitor.RespDelAlarm delalarm = 23;</code>
       */
      public Builder clearDelalarm() {
        if (delalarmBuilder_ == null) {
          delalarm_ = msec.monitor.Monitor.RespDelAlarm.getDefaultInstance();
          onChanged();
        } else {
          delalarmBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000400);
        return this;
      }
      /**
       * <code>optional .msec.monitor.RespDelAlarm delalarm = 23;</code>
       */
      public msec.monitor.Monitor.RespDelAlarm.Builder getDelalarmBuilder() {
        bitField0_ |= 0x00000400;
        onChanged();
        return getDelalarmFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .msec.monitor.RespDelAlarm delalarm = 23;</code>
       */
      public msec.monitor.Monitor.RespDelAlarmOrBuilder getDelalarmOrBuilder() {
        if (delalarmBuilder_ != null) {
          return delalarmBuilder_.getMessageOrBuilder();
        } else {
          return delalarm_;
        }
      }
      /**
       * <code>optional .msec.monitor.RespDelAlarm delalarm = 23;</code>
       */
      private com.google.protobuf.SingleFieldBuilder<
          msec.monitor.Monitor.RespDelAlarm, msec.monitor.Monitor.RespDelAlarm.Builder, msec.monitor.Monitor.RespDelAlarmOrBuilder>
          getDelalarmFieldBuilder() {
        if (delalarmBuilder_ == null) {
          delalarmBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              msec.monitor.Monitor.RespDelAlarm, msec.monitor.Monitor.RespDelAlarm.Builder, msec.monitor.Monitor.RespDelAlarmOrBuilder>(
                  delalarm_,
                  getParentForChildren(),
                  isClean());
          delalarm_ = null;
        }
        return delalarmBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:msec.monitor.RespMonitor)
    }

    static {
      defaultInstance = new RespMonitor(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:msec.monitor.RespMonitor)
  }

  public interface ReqTreeListOrBuilder
      extends com.google.protobuf.MessageOrBuilder {
  }
  /**
   * Protobuf type {@code msec.monitor.ReqTreeList}
   *
   * <pre>
   *获取目录树
   * </pre>
   */
  public static final class ReqTreeList extends
      com.google.protobuf.GeneratedMessage
      implements ReqTreeListOrBuilder {
    // Use ReqTreeList.newBuilder() to construct.
    private ReqTreeList(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private ReqTreeList(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final ReqTreeList defaultInstance;
    public static ReqTreeList getDefaultInstance() {
      return defaultInstance;
    }

    public ReqTreeList getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private ReqTreeList(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return msec.monitor.Monitor.internal_static_msec_monitor_ReqTreeList_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return msec.monitor.Monitor.internal_static_msec_monitor_ReqTreeList_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              msec.monitor.Monitor.ReqTreeList.class, msec.monitor.Monitor.ReqTreeList.Builder.class);
    }

    public static com.google.protobuf.Parser<ReqTreeList> PARSER =
        new com.google.protobuf.AbstractParser<ReqTreeList>() {
      public ReqTreeList parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new ReqTreeList(input, extensionRegistry);
      }
    };

    @java.lang.Override
    public com.google.protobuf.Parser<ReqTreeList> getParserForType() {
      return PARSER;
    }

    private void initFields() {
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static msec.monitor.Monitor.ReqTreeList parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static msec.monitor.Monitor.ReqTreeList parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static msec.monitor.Monitor.ReqTreeList parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static msec.monitor.Monitor.ReqTreeList parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static msec.monitor.Monitor.ReqTreeList parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static msec.monitor.Monitor.ReqTreeList parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static msec.monitor.Monitor.ReqTreeList parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static msec.monitor.Monitor.ReqTreeList parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static msec.monitor.Monitor.ReqTreeList parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static msec.monitor.Monitor.ReqTreeList parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(msec.monitor.Monitor.ReqTreeList prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code msec.monitor.ReqTreeList}
     *
     * <pre>
     *获取目录树
     * </pre>
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder>
       implements msec.monitor.Monitor.ReqTreeListOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return msec.monitor.Monitor.internal_static_msec_monitor_ReqTreeList_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return msec.monitor.Monitor.internal_static_msec_monitor_ReqTreeList_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                msec.monitor.Monitor.ReqTreeList.class, msec.monitor.Monitor.ReqTreeList.Builder.class);
      }

      // Construct using msec.monitor.Monitor.ReqTreeList.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return msec.monitor.Monitor.internal_static_msec_monitor_ReqTreeList_descriptor;
      }

      public msec.monitor.Monitor.ReqTreeList getDefaultInstanceForType() {
        return msec.monitor.Monitor.ReqTreeList.getDefaultInstance();
      }

      public msec.monitor.Monitor.ReqTreeList build() {
        msec.monitor.Monitor.ReqTreeList result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public msec.monitor.Monitor.ReqTreeList buildPartial() {
        msec.monitor.Monitor.ReqTreeList result = new msec.monitor.Monitor.ReqTreeList(this);
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof msec.monitor.Monitor.ReqTreeList) {
          return mergeFrom((msec.monitor.Monitor.ReqTreeList)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(msec.monitor.Monitor.ReqTreeList other) {
        if (other == msec.monitor.Monitor.ReqTreeList.getDefaultInstance()) return this;
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        msec.monitor.Monitor.ReqTreeList parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (msec.monitor.Monitor.ReqTreeList) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      // @@protoc_insertion_point(builder_scope:msec.monitor.ReqTreeList)
    }

    static {
      defaultInstance = new ReqTreeList(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:msec.monitor.ReqTreeList)
  }

  public interface TreeListInfoOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional string servicename = 1;
    /**
     * <code>optional string servicename = 1;</code>
     */
    boolean hasServicename();
    /**
     * <code>optional string servicename = 1;</code>
     */
    java.lang.String getServicename();
    /**
     * <code>optional string servicename = 1;</code>
     */
    com.google.protobuf.ByteString
        getServicenameBytes();
  }
  /**
   * Protobuf type {@code msec.monitor.TreeListInfo}
   */
  public static final class TreeListInfo extends
      com.google.protobuf.GeneratedMessage
      implements TreeListInfoOrBuilder {
    // Use TreeListInfo.newBuilder() to construct.
    private TreeListInfo(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private TreeListInfo(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final TreeListInfo defaultInstance;
    public static TreeListInfo getDefaultInstance() {
      return defaultInstance;
    }

    public TreeListInfo getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private TreeListInfo(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              bitField0_ |= 0x00000001;
              servicename_ = input.readBytes();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return msec.monitor.Monitor.internal_static_msec_monitor_TreeListInfo_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return msec.monitor.Monitor.internal_static_msec_monitor_TreeListInfo_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              msec.monitor.Monitor.TreeListInfo.class, msec.monitor.Monitor.TreeListInfo.Builder.class);
    }

    public static com.google.protobuf.Parser<TreeListInfo> PARSER =
        new com.google.protobuf.AbstractParser<TreeListInfo>() {
      public TreeListInfo parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new TreeListInfo(input, extensionRegistry);
      }
    };

    @java.lang.Override
    public com.google.protobuf.Parser<TreeListInfo> getParserForType() {
      return PARSER;
    }

    private int bitField0_;
    // optional string servicename = 1;
    public static final int SERVICENAME_FIELD_NUMBER = 1;
    private java.lang.Object servicename_;
    /**
     * <code>optional string servicename = 1;</code>
     */
    public boolean hasServicename() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>optional string servicename = 1;</code>
     */
    public java.lang.String getServicename() {
      java.lang.Object ref = servicename_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          servicename_ = s;
        }
        return s;
      }
    }
    /**
     * <code>optional string servicename = 1;</code>
     */
    public com.google.protobuf.ByteString
        getServicenameBytes() {
      java.lang.Object ref = servicename_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        servicename_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    private void initFields() {
      servicename_ = "";
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBytes(1, getServicenameBytes());
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(1, getServicenameBytes());
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static msec.monitor.Monitor.TreeListInfo parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static msec.monitor.Monitor.TreeListInfo parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static msec.monitor.Monitor.TreeListInfo parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static msec.monitor.Monitor.TreeListInfo parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static msec.monitor.Monitor.TreeListInfo parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static msec.monitor.Monitor.TreeListInfo parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static msec.monitor.Monitor.TreeListInfo parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static msec.monitor.Monitor.TreeListInfo parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static msec.monitor.Monitor.TreeListInfo parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static msec.monitor.Monitor.TreeListInfo parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(msec.monitor.Monitor.TreeListInfo prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code msec.monitor.TreeListInfo}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder>
       implements msec.monitor.Monitor.TreeListInfoOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return msec.monitor.Monitor.internal_static_msec_monitor_TreeListInfo_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return msec.monitor.Monitor.internal_static_msec_monitor_TreeListInfo_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                msec.monitor.Monitor.TreeListInfo.class, msec.monitor.Monitor.TreeListInfo.Builder.class);
      }

      // Construct using msec.monitor.Monitor.TreeListInfo.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        servicename_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return msec.monitor.Monitor.internal_static_msec_monitor_TreeListInfo_descriptor;
      }

      public msec.monitor.Monitor.TreeListInfo getDefaultInstanceForType() {
        return msec.monitor.Monitor.TreeListInfo.getDefaultInstance();
      }

      public msec.monitor.Monitor.TreeListInfo build() {
        msec.monitor.Monitor.TreeListInfo result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public msec.monitor.Monitor.TreeListInfo buildPartial() {
        msec.monitor.Monitor.TreeListInfo result = new msec.monitor.Monitor.TreeListInfo(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.servicename_ = servicename_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof msec.monitor.Monitor.TreeListInfo) {
          return mergeFrom((msec.monitor.Monitor.TreeListInfo)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(msec.monitor.Monitor.TreeListInfo other) {
        if (other == msec.monitor.Monitor.TreeListInfo.getDefaultInstance()) return this;
        if (other.hasServicename()) {
          bitField0_ |= 0x00000001;
          servicename_ = other.servicename_;
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        msec.monitor.Monitor.TreeListInfo parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (msec.monitor.Monitor.TreeListInfo) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional string servicename = 1;
      private java.lang.Object servicename_ = "";
      /**
       * <code>optional string servicename = 1;</code>
       */
      public boolean hasServicename() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>optional string servicename = 1;</code>
       */
      public java.lang.String getServicename() {
        java.lang.Object ref = servicename_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          servicename_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>optional string servicename = 1;</code>
       */
      public com.google.protobuf.ByteString
          getServicenameBytes() {
        java.lang.Object ref = servicename_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          servicename_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>optional string servicename = 1;</code>
       */
      public Builder setServicename(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        servicename_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional string servicename = 1;</code>
       */
      public Builder clearServicename() {
        bitField0_ = (bitField0_ & ~0x00000001);
        servicename_ = getDefaultInstance().getServicename();
        onChanged();
        return this;
      }
      /**
       * <code>optional string servicename = 1;</code>
       */
      public Builder setServicenameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        servicename_ = value;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:msec.monitor.TreeListInfo)
    }

    static {
      defaultInstance = new TreeListInfo(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:msec.monitor.TreeListInfo)
  }

  public interface RespTreeListOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // repeated .msec.monitor.TreeListInfo infos = 1;
    /**
     * <code>repeated .msec.monitor.TreeListInfo infos = 1;</code>
     */
    java.util.List<msec.monitor.Monitor.TreeListInfo>
        getInfosList();
    /**
     * <code>repeated .msec.monitor.TreeListInfo infos = 1;</code>
     */
    msec.monitor.Monitor.TreeListInfo getInfos(int index);
    /**
     * <code>repeated .msec.monitor.TreeListInfo infos = 1;</code>
     */
    int getInfosCount();
    /**
     * <code>repeated .msec.monitor.TreeListInfo infos = 1;</code>
     */
    java.util.List<? extends msec.monitor.Monitor.TreeListInfoOrBuilder>
        getInfosOrBuilderList();
    /**
     * <code>repeated .msec.monitor.TreeListInfo infos = 1;</code>
     */
    msec.monitor.Monitor.TreeListInfoOrBuilder getInfosOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code msec.monitor.RespTreeList}
   */
  public static final class RespTreeList extends
      com.google.protobuf.GeneratedMessage
      implements RespTreeListOrBuilder {
    // Use RespTreeList.newBuilder() to construct.
    private RespTreeList(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private RespTreeList(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final RespTreeList defaultInstance;
    public static RespTreeList getDefaultInstance() {
      return defaultInstance;
    }

    public RespTreeList getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private RespTreeList(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
                infos_ = new java.util.ArrayList<msec.monitor.Monitor.TreeListInfo>();
                mutable_bitField0_ |= 0x00000001;
              }
              infos_.add(input.readMessage(msec.monitor.Monitor.TreeListInfo.PARSER, extensionRegistry));
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
          infos_ = java.util.Collections.unmodifiableList(infos_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return msec.monitor.Monitor.internal_static_msec_monitor_RespTreeList_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return msec.monitor.Monitor.internal_static_msec_monitor_RespTreeList_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              msec.monitor.Monitor.RespTreeList.class, msec.monitor.Monitor.RespTreeList.Builder.class);
    }

    public static com.google.protobuf.Parser<RespTreeList> PARSER =
        new com.google.protobuf.AbstractParser<RespTreeList>() {
      public RespTreeList parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new RespTreeList(input, extensionRegistry);
      }
    };

    @java.lang.Override
    public com.google.protobuf.Parser<RespTreeList> getParserForType() {
      return PARSER;
    }

    // repeated .msec.monitor.TreeListInfo infos = 1;
    public static final int INFOS_FIELD_NUMBER = 1;
    private java.util.List<msec.monitor.Monitor.TreeListInfo> infos_;
    /**
     * <code>repeated .msec.monitor.TreeListInfo infos = 1;</code>
     */
    public java.util.List<msec.monitor.Monitor.TreeListInfo> getInfosList() {
      return infos_;
    }
    /**
     * <code>repeated .msec.monitor.TreeListInfo infos = 1;</code>
     */
    public java.util.List<? extends msec.monitor.Monitor.TreeListInfoOrBuilder>
        getInfosOrBuilderList() {
      return infos_;
    }
    /**
     * <code>repeated .msec.monitor.TreeListInfo infos = 1;</code>
     */
    public int getInfosCount() {
      return infos_.size();
    }
    /**
     * <code>repeated .msec.monitor.TreeListInfo infos = 1;</code>
     */
    public msec.monitor.Monitor.TreeListInfo getInfos(int index) {
      return infos_.get(index);
    }
    /**
     * <code>repeated .msec.monitor.TreeListInfo infos = 1;</code>
     */
    public msec.monitor.Monitor.TreeListInfoOrBuilder getInfosOrBuilder(
        int index) {
      return infos_.get(index);
    }

    private void initFields() {
      infos_ = java.util.Collections.emptyList();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      for (int i = 0; i < infos_.size(); i++) {
        output.writeMessage(1, infos_.get(i));
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      for (int i = 0; i < infos_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, infos_.get(i));
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static msec.monitor.Monitor.RespTreeList parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static msec.monitor.Monitor.RespTreeList parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static msec.monitor.Monitor.RespTreeList parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static msec.monitor.Monitor.RespTreeList parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static msec.monitor.Monitor.RespTreeList parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static msec.monitor.Monitor.RespTreeList parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static msec.monitor.Monitor.RespTreeList parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static msec.monitor.Monitor.RespTreeList parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static msec.monitor.Monitor.RespTreeList parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static msec.monitor.Monitor.RespTreeList parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(msec.monitor.Monitor.RespTreeList prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code msec.monitor.RespTreeList}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder>
       implements msec.monitor.Monitor.RespTreeListOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return msec.monitor.Monitor.internal_static_msec_monitor_RespTreeList_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return msec.monitor.Monitor.internal_static_msec_monitor_RespTreeList_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                msec.monitor.Monitor.RespTreeList.class, msec.monitor.Monitor.RespTreeList.Builder.class);
      }

      // Construct using msec.monitor.Monitor.RespTreeList.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getInfosFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        if (infosBuilder_ == null) {
          infos_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
        } else {
          infosBuilder_.clear();
        }
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return msec.monitor.Monitor.internal_static_msec_monitor_RespTreeList_descriptor;
      }

      public msec.monitor.Monitor.RespTreeList getDefaultInstanceForType() {
        return msec.monitor.Monitor.RespTreeList.getDefaultInstance();
      }

      public msec.monitor.Monitor.RespTreeList build() {
        msec.monitor.Monitor.RespTreeList result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public msec.monitor.Monitor.RespTreeList buildPartial() {
        msec.monitor.Monitor.RespTreeList result = new msec.monitor.Monitor.RespTreeList(this);
        int from_bitField0_ = bitField0_;
        if (infosBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001)) {
            infos_ = java.util.Collections.unmodifiableList(infos_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.infos_ = infos_;
        } else {
          result.infos_ = infosBuilder_.build();
        }
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof msec.monitor.Monitor.RespTreeList) {
          return mergeFrom((msec.monitor.Monitor.RespTreeList)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(msec.monitor.Monitor.RespTreeList other) {
        if (other == msec.monitor.Monitor.RespTreeList.getDefaultInstance()) return this;
        if (infosBuilder_ == null) {
          if (!other.infos_.isEmpty()) {
            if (infos_.isEmpty()) {
              infos_ = other.infos_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureInfosIsMutable();
              infos_.addAll(other.infos_);
            }
            onChanged();
          }
        } else {
          if (!other.infos_.isEmpty()) {
            if (infosBuilder_.isEmpty()) {
              infosBuilder_.dispose();
              infosBuilder_ = null;
              infos_ = other.infos_;
              bitField0_ = (bitField0_ & ~0x00000001);
              infosBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getInfosFieldBuilder() : null;
            } else {
              infosBuilder_.addAllMessages(other.infos_);
            }
          }
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        msec.monitor.Monitor.RespTreeList parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (msec.monitor.Monitor.RespTreeList) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // repeated .msec.monitor.TreeListInfo infos = 1;
      private java.util.List<msec.monitor.Monitor.TreeListInfo> infos_ =
        java.util.Collections.emptyList();
      private void ensureInfosIsMutable() {
        if (!((bitField0_ & 0x00000001) == 0x00000001)) {
          infos_ = new java.util.ArrayList<msec.monitor.Monitor.TreeListInfo>(infos_);
          bitField0_ |= 0x00000001;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilder<
          msec.monitor.Monitor.TreeListInfo, msec.monitor.Monitor.TreeListInfo.Builder, msec.monitor.Monitor.TreeListInfoOrBuilder> infosBuilder_;

      /**
       * <code>repeated .msec.monitor.TreeListInfo infos = 1;</code>
       */
      public java.util.List<msec.monitor.Monitor.TreeListInfo> getInfosList() {
        if (infosBuilder_ == null) {
          return java.util.Collections.unmodifiableList(infos_);
        } else {
          return infosBuilder_.getMessageList();
        }
      }
      /**
       * <code>repeated .msec.monitor.TreeListInfo infos = 1;</code>
       */
      public int getInfosCount() {
        if (infosBuilder_ == null) {
          return infos_.size();
        } else {
          return infosBuilder_.getCount();
        }
      }
      /**
       * <code>repeated .msec.monitor.TreeListInfo infos = 1;</code>
       */
      public msec.monitor.Monitor.TreeListInfo getInfos(int index) {
        if (infosBuilder_ == null) {
          return infos_.get(index);
        } else {
          return infosBuilder_.getMessage(index);
        }
      }
      /**
       * <code>repeated .msec.monitor.TreeListInfo infos = 1;</code>
       */
      public Builder setInfos(
          int index, msec.monitor.Monitor.TreeListInfo value) {
        if (infosBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureInfosIsMutable();
          infos_.set(index, value);
          onChanged();
        } else {
          infosBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.TreeListInfo infos = 1;</code>
       */
      public Builder setInfos(
          int index, msec.monitor.Monitor.TreeListInfo.Builder builderForValue) {
        if (infosBuilder_ == null) {
          ensureInfosIsMutable();
          infos_.set(index, builderForValue.build());
          onChanged();
        } else {
          infosBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.TreeListInfo infos = 1;</code>
       */
      public Builder addInfos(msec.monitor.Monitor.TreeListInfo value) {
        if (infosBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureInfosIsMutable();
          infos_.add(value);
          onChanged();
        } else {
          infosBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.TreeListInfo infos = 1;</code>
       */
      public Builder addInfos(
          int index, msec.monitor.Monitor.TreeListInfo value) {
        if (infosBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureInfosIsMutable();
          infos_.add(index, value);
          onChanged();
        } else {
          infosBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.TreeListInfo infos = 1;</code>
       */
      public Builder addInfos(
          msec.monitor.Monitor.TreeListInfo.Builder builderForValue) {
        if (infosBuilder_ == null) {
          ensureInfosIsMutable();
          infos_.add(builderForValue.build());
          onChanged();
        } else {
          infosBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.TreeListInfo infos = 1;</code>
       */
      public Builder addInfos(
          int index, msec.monitor.Monitor.TreeListInfo.Builder builderForValue) {
        if (infosBuilder_ == null) {
          ensureInfosIsMutable();
          infos_.add(index, builderForValue.build());
          onChanged();
        } else {
          infosBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.TreeListInfo infos = 1;</code>
       */
      public Builder addAllInfos(
          java.lang.Iterable<? extends msec.monitor.Monitor.TreeListInfo> values) {
        if (infosBuilder_ == null) {
          ensureInfosIsMutable();
          super.addAll(values, infos_);
          onChanged();
        } else {
          infosBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.TreeListInfo infos = 1;</code>
       */
      public Builder clearInfos() {
        if (infosBuilder_ == null) {
          infos_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          infosBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.TreeListInfo infos = 1;</code>
       */
      public Builder removeInfos(int index) {
        if (infosBuilder_ == null) {
          ensureInfosIsMutable();
          infos_.remove(index);
          onChanged();
        } else {
          infosBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.TreeListInfo infos = 1;</code>
       */
      public msec.monitor.Monitor.TreeListInfo.Builder getInfosBuilder(
          int index) {
        return getInfosFieldBuilder().getBuilder(index);
      }
      /**
       * <code>repeated .msec.monitor.TreeListInfo infos = 1;</code>
       */
      public msec.monitor.Monitor.TreeListInfoOrBuilder getInfosOrBuilder(
          int index) {
        if (infosBuilder_ == null) {
          return infos_.get(index);  } else {
          return infosBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <code>repeated .msec.monitor.TreeListInfo infos = 1;</code>
       */
      public java.util.List<? extends msec.monitor.Monitor.TreeListInfoOrBuilder>
           getInfosOrBuilderList() {
        if (infosBuilder_ != null) {
          return infosBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(infos_);
        }
      }
      /**
       * <code>repeated .msec.monitor.TreeListInfo infos = 1;</code>
       */
      public msec.monitor.Monitor.TreeListInfo.Builder addInfosBuilder() {
        return getInfosFieldBuilder().addBuilder(
            msec.monitor.Monitor.TreeListInfo.getDefaultInstance());
      }
      /**
       * <code>repeated .msec.monitor.TreeListInfo infos = 1;</code>
       */
      public msec.monitor.Monitor.TreeListInfo.Builder addInfosBuilder(
          int index) {
        return getInfosFieldBuilder().addBuilder(
            index, msec.monitor.Monitor.TreeListInfo.getDefaultInstance());
      }
      /**
       * <code>repeated .msec.monitor.TreeListInfo infos = 1;</code>
       */
      public java.util.List<msec.monitor.Monitor.TreeListInfo.Builder>
           getInfosBuilderList() {
        return getInfosFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          msec.monitor.Monitor.TreeListInfo, msec.monitor.Monitor.TreeListInfo.Builder, msec.monitor.Monitor.TreeListInfoOrBuilder>
          getInfosFieldBuilder() {
        if (infosBuilder_ == null) {
          infosBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              msec.monitor.Monitor.TreeListInfo, msec.monitor.Monitor.TreeListInfo.Builder, msec.monitor.Monitor.TreeListInfoOrBuilder>(
                  infos_,
                  ((bitField0_ & 0x00000001) == 0x00000001),
                  getParentForChildren(),
                  isClean());
          infos_ = null;
        }
        return infosBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:msec.monitor.RespTreeList)
    }

    static {
      defaultInstance = new RespTreeList(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:msec.monitor.RespTreeList)
  }

  public interface ReqServiceOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional string servicename = 1;
    /**
     * <code>optional string servicename = 1;</code>
     */
    boolean hasServicename();
    /**
     * <code>optional string servicename = 1;</code>
     */
    java.lang.String getServicename();
    /**
     * <code>optional string servicename = 1;</code>
     */
    com.google.protobuf.ByteString
        getServicenameBytes();

    // repeated uint32 days = 2;
    /**
     * <code>repeated uint32 days = 2;</code>
     *
     * <pre>
     *如2016年2月24日对应的值为20160224；如指定日期则只返回在指定日期内有数据的属性
     * </pre>
     */
    java.util.List<java.lang.Integer> getDaysList();
    /**
     * <code>repeated uint32 days = 2;</code>
     *
     * <pre>
     *如2016年2月24日对应的值为20160224；如指定日期则只返回在指定日期内有数据的属性
     * </pre>
     */
    int getDaysCount();
    /**
     * <code>repeated uint32 days = 2;</code>
     *
     * <pre>
     *如2016年2月24日对应的值为20160224；如指定日期则只返回在指定日期内有数据的属性
     * </pre>
     */
    int getDays(int index);
  }
  /**
   * Protobuf type {@code msec.monitor.ReqService}
   *
   * <pre>
   *获取单个Service的属性和IP
   * </pre>
   */
  public static final class ReqService extends
      com.google.protobuf.GeneratedMessage
      implements ReqServiceOrBuilder {
    // Use ReqService.newBuilder() to construct.
    private ReqService(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private ReqService(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final ReqService defaultInstance;
    public static ReqService getDefaultInstance() {
      return defaultInstance;
    }

    public ReqService getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private ReqService(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              bitField0_ |= 0x00000001;
              servicename_ = input.readBytes();
              break;
            }
            case 16: {
              if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
                days_ = new java.util.ArrayList<java.lang.Integer>();
                mutable_bitField0_ |= 0x00000002;
              }
              days_.add(input.readUInt32());
              break;
            }
            case 18: {
              int length = input.readRawVarint32();
              int limit = input.pushLimit(length);
              if (!((mutable_bitField0_ & 0x00000002) == 0x00000002) && input.getBytesUntilLimit() > 0) {
                days_ = new java.util.ArrayList<java.lang.Integer>();
                mutable_bitField0_ |= 0x00000002;
              }
              while (input.getBytesUntilLimit() > 0) {
                days_.add(input.readUInt32());
              }
              input.popLimit(limit);
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
          days_ = java.util.Collections.unmodifiableList(days_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return msec.monitor.Monitor.internal_static_msec_monitor_ReqService_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return msec.monitor.Monitor.internal_static_msec_monitor_ReqService_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              msec.monitor.Monitor.ReqService.class, msec.monitor.Monitor.ReqService.Builder.class);
    }

    public static com.google.protobuf.Parser<ReqService> PARSER =
        new com.google.protobuf.AbstractParser<ReqService>() {
      public ReqService parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new ReqService(input, extensionRegistry);
      }
    };

    @java.lang.Override
    public com.google.protobuf.Parser<ReqService> getParserForType() {
      return PARSER;
    }

    private int bitField0_;
    // optional string servicename = 1;
    public static final int SERVICENAME_FIELD_NUMBER = 1;
    private java.lang.Object servicename_;
    /**
     * <code>optional string servicename = 1;</code>
     */
    public boolean hasServicename() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>optional string servicename = 1;</code>
     */
    public java.lang.String getServicename() {
      java.lang.Object ref = servicename_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          servicename_ = s;
        }
        return s;
      }
    }
    /**
     * <code>optional string servicename = 1;</code>
     */
    public com.google.protobuf.ByteString
        getServicenameBytes() {
      java.lang.Object ref = servicename_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        servicename_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    // repeated uint32 days = 2;
    public static final int DAYS_FIELD_NUMBER = 2;
    private java.util.List<java.lang.Integer> days_;
    /**
     * <code>repeated uint32 days = 2;</code>
     *
     * <pre>
     *如2016年2月24日对应的值为20160224；如指定日期则只返回在指定日期内有数据的属性
     * </pre>
     */
    public java.util.List<java.lang.Integer>
        getDaysList() {
      return days_;
    }
    /**
     * <code>repeated uint32 days = 2;</code>
     *
     * <pre>
     *如2016年2月24日对应的值为20160224；如指定日期则只返回在指定日期内有数据的属性
     * </pre>
     */
    public int getDaysCount() {
      return days_.size();
    }
    /**
     * <code>repeated uint32 days = 2;</code>
     *
     * <pre>
     *如2016年2月24日对应的值为20160224；如指定日期则只返回在指定日期内有数据的属性
     * </pre>
     */
    public int getDays(int index) {
      return days_.get(index);
    }

    private void initFields() {
      servicename_ = "";
      days_ = java.util.Collections.emptyList();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBytes(1, getServicenameBytes());
      }
      for (int i = 0; i < days_.size(); i++) {
        output.writeUInt32(2, days_.get(i));
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(1, getServicenameBytes());
      }
      {
        int dataSize = 0;
        for (int i = 0; i < days_.size(); i++) {
          dataSize += com.google.protobuf.CodedOutputStream
            .computeUInt32SizeNoTag(days_.get(i));
        }
        size += dataSize;
        size += 1 * getDaysList().size();
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static msec.monitor.Monitor.ReqService parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static msec.monitor.Monitor.ReqService parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static msec.monitor.Monitor.ReqService parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static msec.monitor.Monitor.ReqService parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static msec.monitor.Monitor.ReqService parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static msec.monitor.Monitor.ReqService parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static msec.monitor.Monitor.ReqService parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static msec.monitor.Monitor.ReqService parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static msec.monitor.Monitor.ReqService parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static msec.monitor.Monitor.ReqService parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(msec.monitor.Monitor.ReqService prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code msec.monitor.ReqService}
     *
     * <pre>
     *获取单个Service的属性和IP
     * </pre>
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder>
       implements msec.monitor.Monitor.ReqServiceOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return msec.monitor.Monitor.internal_static_msec_monitor_ReqService_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return msec.monitor.Monitor.internal_static_msec_monitor_ReqService_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                msec.monitor.Monitor.ReqService.class, msec.monitor.Monitor.ReqService.Builder.class);
      }

      // Construct using msec.monitor.Monitor.ReqService.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        servicename_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        days_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return msec.monitor.Monitor.internal_static_msec_monitor_ReqService_descriptor;
      }

      public msec.monitor.Monitor.ReqService getDefaultInstanceForType() {
        return msec.monitor.Monitor.ReqService.getDefaultInstance();
      }

      public msec.monitor.Monitor.ReqService build() {
        msec.monitor.Monitor.ReqService result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public msec.monitor.Monitor.ReqService buildPartial() {
        msec.monitor.Monitor.ReqService result = new msec.monitor.Monitor.ReqService(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.servicename_ = servicename_;
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          days_ = java.util.Collections.unmodifiableList(days_);
          bitField0_ = (bitField0_ & ~0x00000002);
        }
        result.days_ = days_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof msec.monitor.Monitor.ReqService) {
          return mergeFrom((msec.monitor.Monitor.ReqService)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(msec.monitor.Monitor.ReqService other) {
        if (other == msec.monitor.Monitor.ReqService.getDefaultInstance()) return this;
        if (other.hasServicename()) {
          bitField0_ |= 0x00000001;
          servicename_ = other.servicename_;
          onChanged();
        }
        if (!other.days_.isEmpty()) {
          if (days_.isEmpty()) {
            days_ = other.days_;
            bitField0_ = (bitField0_ & ~0x00000002);
          } else {
            ensureDaysIsMutable();
            days_.addAll(other.days_);
          }
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        msec.monitor.Monitor.ReqService parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (msec.monitor.Monitor.ReqService) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional string servicename = 1;
      private java.lang.Object servicename_ = "";
      /**
       * <code>optional string servicename = 1;</code>
       */
      public boolean hasServicename() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>optional string servicename = 1;</code>
       */
      public java.lang.String getServicename() {
        java.lang.Object ref = servicename_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          servicename_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>optional string servicename = 1;</code>
       */
      public com.google.protobuf.ByteString
          getServicenameBytes() {
        java.lang.Object ref = servicename_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          servicename_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>optional string servicename = 1;</code>
       */
      public Builder setServicename(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        servicename_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional string servicename = 1;</code>
       */
      public Builder clearServicename() {
        bitField0_ = (bitField0_ & ~0x00000001);
        servicename_ = getDefaultInstance().getServicename();
        onChanged();
        return this;
      }
      /**
       * <code>optional string servicename = 1;</code>
       */
      public Builder setServicenameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        servicename_ = value;
        onChanged();
        return this;
      }

      // repeated uint32 days = 2;
      private java.util.List<java.lang.Integer> days_ = java.util.Collections.emptyList();
      private void ensureDaysIsMutable() {
        if (!((bitField0_ & 0x00000002) == 0x00000002)) {
          days_ = new java.util.ArrayList<java.lang.Integer>(days_);
          bitField0_ |= 0x00000002;
         }
      }
      /**
       * <code>repeated uint32 days = 2;</code>
       *
       * <pre>
       *如2016年2月24日对应的值为20160224；如指定日期则只返回在指定日期内有数据的属性
       * </pre>
       */
      public java.util.List<java.lang.Integer>
          getDaysList() {
        return java.util.Collections.unmodifiableList(days_);
      }
      /**
       * <code>repeated uint32 days = 2;</code>
       *
       * <pre>
       *如2016年2月24日对应的值为20160224；如指定日期则只返回在指定日期内有数据的属性
       * </pre>
       */
      public int getDaysCount() {
        return days_.size();
      }
      /**
       * <code>repeated uint32 days = 2;</code>
       *
       * <pre>
       *如2016年2月24日对应的值为20160224；如指定日期则只返回在指定日期内有数据的属性
       * </pre>
       */
      public int getDays(int index) {
        return days_.get(index);
      }
      /**
       * <code>repeated uint32 days = 2;</code>
       *
       * <pre>
       *如2016年2月24日对应的值为20160224；如指定日期则只返回在指定日期内有数据的属性
       * </pre>
       */
      public Builder setDays(
          int index, int value) {
        ensureDaysIsMutable();
        days_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated uint32 days = 2;</code>
       *
       * <pre>
       *如2016年2月24日对应的值为20160224；如指定日期则只返回在指定日期内有数据的属性
       * </pre>
       */
      public Builder addDays(int value) {
        ensureDaysIsMutable();
        days_.add(value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated uint32 days = 2;</code>
       *
       * <pre>
       *如2016年2月24日对应的值为20160224；如指定日期则只返回在指定日期内有数据的属性
       * </pre>
       */
      public Builder addAllDays(
          java.lang.Iterable<? extends java.lang.Integer> values) {
        ensureDaysIsMutable();
        super.addAll(values, days_);
        onChanged();
        return this;
      }
      /**
       * <code>repeated uint32 days = 2;</code>
       *
       * <pre>
       *如2016年2月24日对应的值为20160224；如指定日期则只返回在指定日期内有数据的属性
       * </pre>
       */
      public Builder clearDays() {
        days_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000002);
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:msec.monitor.ReqService)
    }

    static {
      defaultInstance = new ReqService(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:msec.monitor.ReqService)
  }

  public interface AlarmAttrOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional string attrname = 1;
    /**
     * <code>optional string attrname = 1;</code>
     */
    boolean hasAttrname();
    /**
     * <code>optional string attrname = 1;</code>
     */
    java.lang.String getAttrname();
    /**
     * <code>optional string attrname = 1;</code>
     */
    com.google.protobuf.ByteString
        getAttrnameBytes();

    // optional uint32 max = 2;
    /**
     * <code>optional uint32 max = 2;</code>
     *
     * <pre>
     *最大值
     * </pre>
     */
    boolean hasMax();
    /**
     * <code>optional uint32 max = 2;</code>
     *
     * <pre>
     *最大值
     * </pre>
     */
    int getMax();

    // optional uint32 min = 3;
    /**
     * <code>optional uint32 min = 3;</code>
     *
     * <pre>
     *最小值
     * </pre>
     */
    boolean hasMin();
    /**
     * <code>optional uint32 min = 3;</code>
     *
     * <pre>
     *最小值
     * </pre>
     */
    int getMin();

    // optional uint32 diff = 4;
    /**
     * <code>optional uint32 diff = 4;</code>
     *
     * <pre>
     *波动值
     * </pre>
     */
    boolean hasDiff();
    /**
     * <code>optional uint32 diff = 4;</code>
     *
     * <pre>
     *波动值
     * </pre>
     */
    int getDiff();

    // optional uint32 diff_percent = 5;
    /**
     * <code>optional uint32 diff_percent = 5;</code>
     *
     * <pre>
     *波动比率
     * </pre>
     */
    boolean hasDiffPercent();
    /**
     * <code>optional uint32 diff_percent = 5;</code>
     *
     * <pre>
     *波动比率
     * </pre>
     */
    int getDiffPercent();
  }
  /**
   * Protobuf type {@code msec.monitor.AlarmAttr}
   */
  public static final class AlarmAttr extends
      com.google.protobuf.GeneratedMessage
      implements AlarmAttrOrBuilder {
    // Use AlarmAttr.newBuilder() to construct.
    private AlarmAttr(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private AlarmAttr(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final AlarmAttr defaultInstance;
    public static AlarmAttr getDefaultInstance() {
      return defaultInstance;
    }

    public AlarmAttr getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private AlarmAttr(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              bitField0_ |= 0x00000001;
              attrname_ = input.readBytes();
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              max_ = input.readUInt32();
              break;
            }
            case 24: {
              bitField0_ |= 0x00000004;
              min_ = input.readUInt32();
              break;
            }
            case 32: {
              bitField0_ |= 0x00000008;
              diff_ = input.readUInt32();
              break;
            }
            case 40: {
              bitField0_ |= 0x00000010;
              diffPercent_ = input.readUInt32();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return msec.monitor.Monitor.internal_static_msec_monitor_AlarmAttr_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return msec.monitor.Monitor.internal_static_msec_monitor_AlarmAttr_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              msec.monitor.Monitor.AlarmAttr.class, msec.monitor.Monitor.AlarmAttr.Builder.class);
    }

    public static com.google.protobuf.Parser<AlarmAttr> PARSER =
        new com.google.protobuf.AbstractParser<AlarmAttr>() {
      public AlarmAttr parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new AlarmAttr(input, extensionRegistry);
      }
    };

    @java.lang.Override
    public com.google.protobuf.Parser<AlarmAttr> getParserForType() {
      return PARSER;
    }

    private int bitField0_;
    // optional string attrname = 1;
    public static final int ATTRNAME_FIELD_NUMBER = 1;
    private java.lang.Object attrname_;
    /**
     * <code>optional string attrname = 1;</code>
     */
    public boolean hasAttrname() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>optional string attrname = 1;</code>
     */
    public java.lang.String getAttrname() {
      java.lang.Object ref = attrname_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          attrname_ = s;
        }
        return s;
      }
    }
    /**
     * <code>optional string attrname = 1;</code>
     */
    public com.google.protobuf.ByteString
        getAttrnameBytes() {
      java.lang.Object ref = attrname_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        attrname_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    // optional uint32 max = 2;
    public static final int MAX_FIELD_NUMBER = 2;
    private int max_;
    /**
     * <code>optional uint32 max = 2;</code>
     *
     * <pre>
     *最大值
     * </pre>
     */
    public boolean hasMax() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * <code>optional uint32 max = 2;</code>
     *
     * <pre>
     *最大值
     * </pre>
     */
    public int getMax() {
      return max_;
    }

    // optional uint32 min = 3;
    public static final int MIN_FIELD_NUMBER = 3;
    private int min_;
    /**
     * <code>optional uint32 min = 3;</code>
     *
     * <pre>
     *最小值
     * </pre>
     */
    public boolean hasMin() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * <code>optional uint32 min = 3;</code>
     *
     * <pre>
     *最小值
     * </pre>
     */
    public int getMin() {
      return min_;
    }

    // optional uint32 diff = 4;
    public static final int DIFF_FIELD_NUMBER = 4;
    private int diff_;
    /**
     * <code>optional uint32 diff = 4;</code>
     *
     * <pre>
     *波动值
     * </pre>
     */
    public boolean hasDiff() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * <code>optional uint32 diff = 4;</code>
     *
     * <pre>
     *波动值
     * </pre>
     */
    public int getDiff() {
      return diff_;
    }

    // optional uint32 diff_percent = 5;
    public static final int DIFF_PERCENT_FIELD_NUMBER = 5;
    private int diffPercent_;
    /**
     * <code>optional uint32 diff_percent = 5;</code>
     *
     * <pre>
     *波动比率
     * </pre>
     */
    public boolean hasDiffPercent() {
      return ((bitField0_ & 0x00000010) == 0x00000010);
    }
    /**
     * <code>optional uint32 diff_percent = 5;</code>
     *
     * <pre>
     *波动比率
     * </pre>
     */
    public int getDiffPercent() {
      return diffPercent_;
    }

    private void initFields() {
      attrname_ = "";
      max_ = 0;
      min_ = 0;
      diff_ = 0;
      diffPercent_ = 0;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBytes(1, getAttrnameBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeUInt32(2, max_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeUInt32(3, min_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeUInt32(4, diff_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        output.writeUInt32(5, diffPercent_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(1, getAttrnameBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(2, max_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(3, min_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(4, diff_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(5, diffPercent_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static msec.monitor.Monitor.AlarmAttr parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static msec.monitor.Monitor.AlarmAttr parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static msec.monitor.Monitor.AlarmAttr parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static msec.monitor.Monitor.AlarmAttr parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static msec.monitor.Monitor.AlarmAttr parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static msec.monitor.Monitor.AlarmAttr parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static msec.monitor.Monitor.AlarmAttr parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static msec.monitor.Monitor.AlarmAttr parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static msec.monitor.Monitor.AlarmAttr parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static msec.monitor.Monitor.AlarmAttr parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(msec.monitor.Monitor.AlarmAttr prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code msec.monitor.AlarmAttr}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder>
       implements msec.monitor.Monitor.AlarmAttrOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return msec.monitor.Monitor.internal_static_msec_monitor_AlarmAttr_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return msec.monitor.Monitor.internal_static_msec_monitor_AlarmAttr_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                msec.monitor.Monitor.AlarmAttr.class, msec.monitor.Monitor.AlarmAttr.Builder.class);
      }

      // Construct using msec.monitor.Monitor.AlarmAttr.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        attrname_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        max_ = 0;
        bitField0_ = (bitField0_ & ~0x00000002);
        min_ = 0;
        bitField0_ = (bitField0_ & ~0x00000004);
        diff_ = 0;
        bitField0_ = (bitField0_ & ~0x00000008);
        diffPercent_ = 0;
        bitField0_ = (bitField0_ & ~0x00000010);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return msec.monitor.Monitor.internal_static_msec_monitor_AlarmAttr_descriptor;
      }

      public msec.monitor.Monitor.AlarmAttr getDefaultInstanceForType() {
        return msec.monitor.Monitor.AlarmAttr.getDefaultInstance();
      }

      public msec.monitor.Monitor.AlarmAttr build() {
        msec.monitor.Monitor.AlarmAttr result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public msec.monitor.Monitor.AlarmAttr buildPartial() {
        msec.monitor.Monitor.AlarmAttr result = new msec.monitor.Monitor.AlarmAttr(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.attrname_ = attrname_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.max_ = max_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.min_ = min_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        result.diff_ = diff_;
        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
          to_bitField0_ |= 0x00000010;
        }
        result.diffPercent_ = diffPercent_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof msec.monitor.Monitor.AlarmAttr) {
          return mergeFrom((msec.monitor.Monitor.AlarmAttr)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(msec.monitor.Monitor.AlarmAttr other) {
        if (other == msec.monitor.Monitor.AlarmAttr.getDefaultInstance()) return this;
        if (other.hasAttrname()) {
          bitField0_ |= 0x00000001;
          attrname_ = other.attrname_;
          onChanged();
        }
        if (other.hasMax()) {
          setMax(other.getMax());
        }
        if (other.hasMin()) {
          setMin(other.getMin());
        }
        if (other.hasDiff()) {
          setDiff(other.getDiff());
        }
        if (other.hasDiffPercent()) {
          setDiffPercent(other.getDiffPercent());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        msec.monitor.Monitor.AlarmAttr parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (msec.monitor.Monitor.AlarmAttr) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional string attrname = 1;
      private java.lang.Object attrname_ = "";
      /**
       * <code>optional string attrname = 1;</code>
       */
      public boolean hasAttrname() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>optional string attrname = 1;</code>
       */
      public java.lang.String getAttrname() {
        java.lang.Object ref = attrname_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          attrname_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>optional string attrname = 1;</code>
       */
      public com.google.protobuf.ByteString
          getAttrnameBytes() {
        java.lang.Object ref = attrname_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          attrname_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>optional string attrname = 1;</code>
       */
      public Builder setAttrname(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        attrname_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional string attrname = 1;</code>
       */
      public Builder clearAttrname() {
        bitField0_ = (bitField0_ & ~0x00000001);
        attrname_ = getDefaultInstance().getAttrname();
        onChanged();
        return this;
      }
      /**
       * <code>optional string attrname = 1;</code>
       */
      public Builder setAttrnameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        attrname_ = value;
        onChanged();
        return this;
      }

      // optional uint32 max = 2;
      private int max_ ;
      /**
       * <code>optional uint32 max = 2;</code>
       *
       * <pre>
       *最大值
       * </pre>
       */
      public boolean hasMax() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>optional uint32 max = 2;</code>
       *
       * <pre>
       *最大值
       * </pre>
       */
      public int getMax() {
        return max_;
      }
      /**
       * <code>optional uint32 max = 2;</code>
       *
       * <pre>
       *最大值
       * </pre>
       */
      public Builder setMax(int value) {
        bitField0_ |= 0x00000002;
        max_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional uint32 max = 2;</code>
       *
       * <pre>
       *最大值
       * </pre>
       */
      public Builder clearMax() {
        bitField0_ = (bitField0_ & ~0x00000002);
        max_ = 0;
        onChanged();
        return this;
      }

      // optional uint32 min = 3;
      private int min_ ;
      /**
       * <code>optional uint32 min = 3;</code>
       *
       * <pre>
       *最小值
       * </pre>
       */
      public boolean hasMin() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * <code>optional uint32 min = 3;</code>
       *
       * <pre>
       *最小值
       * </pre>
       */
      public int getMin() {
        return min_;
      }
      /**
       * <code>optional uint32 min = 3;</code>
       *
       * <pre>
       *最小值
       * </pre>
       */
      public Builder setMin(int value) {
        bitField0_ |= 0x00000004;
        min_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional uint32 min = 3;</code>
       *
       * <pre>
       *最小值
       * </pre>
       */
      public Builder clearMin() {
        bitField0_ = (bitField0_ & ~0x00000004);
        min_ = 0;
        onChanged();
        return this;
      }

      // optional uint32 diff = 4;
      private int diff_ ;
      /**
       * <code>optional uint32 diff = 4;</code>
       *
       * <pre>
       *波动值
       * </pre>
       */
      public boolean hasDiff() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * <code>optional uint32 diff = 4;</code>
       *
       * <pre>
       *波动值
       * </pre>
       */
      public int getDiff() {
        return diff_;
      }
      /**
       * <code>optional uint32 diff = 4;</code>
       *
       * <pre>
       *波动值
       * </pre>
       */
      public Builder setDiff(int value) {
        bitField0_ |= 0x00000008;
        diff_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional uint32 diff = 4;</code>
       *
       * <pre>
       *波动值
       * </pre>
       */
      public Builder clearDiff() {
        bitField0_ = (bitField0_ & ~0x00000008);
        diff_ = 0;
        onChanged();
        return this;
      }

      // optional uint32 diff_percent = 5;
      private int diffPercent_ ;
      /**
       * <code>optional uint32 diff_percent = 5;</code>
       *
       * <pre>
       *波动比率
       * </pre>
       */
      public boolean hasDiffPercent() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      /**
       * <code>optional uint32 diff_percent = 5;</code>
       *
       * <pre>
       *波动比率
       * </pre>
       */
      public int getDiffPercent() {
        return diffPercent_;
      }
      /**
       * <code>optional uint32 diff_percent = 5;</code>
       *
       * <pre>
       *波动比率
       * </pre>
       */
      public Builder setDiffPercent(int value) {
        bitField0_ |= 0x00000010;
        diffPercent_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional uint32 diff_percent = 5;</code>
       *
       * <pre>
       *波动比率
       * </pre>
       */
      public Builder clearDiffPercent() {
        bitField0_ = (bitField0_ & ~0x00000010);
        diffPercent_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:msec.monitor.AlarmAttr)
    }

    static {
      defaultInstance = new AlarmAttr(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:msec.monitor.AlarmAttr)
  }

  public interface HostDataOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional string ip = 1;
    /**
     * <code>optional string ip = 1;</code>
     */
    boolean hasIp();
    /**
     * <code>optional string ip = 1;</code>
     */
    java.lang.String getIp();
    /**
     * <code>optional string ip = 1;</code>
     */
    com.google.protobuf.ByteString
        getIpBytes();

    // repeated uint32 ports = 2;
    /**
     * <code>repeated uint32 ports = 2;</code>
     */
    java.util.List<java.lang.Integer> getPortsList();
    /**
     * <code>repeated uint32 ports = 2;</code>
     */
    int getPortsCount();
    /**
     * <code>repeated uint32 ports = 2;</code>
     */
    int getPorts(int index);
  }
  /**
   * Protobuf type {@code msec.monitor.HostData}
   */
  public static final class HostData extends
      com.google.protobuf.GeneratedMessage
      implements HostDataOrBuilder {
    // Use HostData.newBuilder() to construct.
    private HostData(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private HostData(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final HostData defaultInstance;
    public static HostData getDefaultInstance() {
      return defaultInstance;
    }

    public HostData getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private HostData(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              bitField0_ |= 0x00000001;
              ip_ = input.readBytes();
              break;
            }
            case 16: {
              if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
                ports_ = new java.util.ArrayList<java.lang.Integer>();
                mutable_bitField0_ |= 0x00000002;
              }
              ports_.add(input.readUInt32());
              break;
            }
            case 18: {
              int length = input.readRawVarint32();
              int limit = input.pushLimit(length);
              if (!((mutable_bitField0_ & 0x00000002) == 0x00000002) && input.getBytesUntilLimit() > 0) {
                ports_ = new java.util.ArrayList<java.lang.Integer>();
                mutable_bitField0_ |= 0x00000002;
              }
              while (input.getBytesUntilLimit() > 0) {
                ports_.add(input.readUInt32());
              }
              input.popLimit(limit);
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
          ports_ = java.util.Collections.unmodifiableList(ports_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return msec.monitor.Monitor.internal_static_msec_monitor_HostData_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return msec.monitor.Monitor.internal_static_msec_monitor_HostData_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              msec.monitor.Monitor.HostData.class, msec.monitor.Monitor.HostData.Builder.class);
    }

    public static com.google.protobuf.Parser<HostData> PARSER =
        new com.google.protobuf.AbstractParser<HostData>() {
      public HostData parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new HostData(input, extensionRegistry);
      }
    };

    @java.lang.Override
    public com.google.protobuf.Parser<HostData> getParserForType() {
      return PARSER;
    }

    private int bitField0_;
    // optional string ip = 1;
    public static final int IP_FIELD_NUMBER = 1;
    private java.lang.Object ip_;
    /**
     * <code>optional string ip = 1;</code>
     */
    public boolean hasIp() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>optional string ip = 1;</code>
     */
    public java.lang.String getIp() {
      java.lang.Object ref = ip_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          ip_ = s;
        }
        return s;
      }
    }
    /**
     * <code>optional string ip = 1;</code>
     */
    public com.google.protobuf.ByteString
        getIpBytes() {
      java.lang.Object ref = ip_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        ip_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    // repeated uint32 ports = 2;
    public static final int PORTS_FIELD_NUMBER = 2;
    private java.util.List<java.lang.Integer> ports_;
    /**
     * <code>repeated uint32 ports = 2;</code>
     */
    public java.util.List<java.lang.Integer>
        getPortsList() {
      return ports_;
    }
    /**
     * <code>repeated uint32 ports = 2;</code>
     */
    public int getPortsCount() {
      return ports_.size();
    }
    /**
     * <code>repeated uint32 ports = 2;</code>
     */
    public int getPorts(int index) {
      return ports_.get(index);
    }

    private void initFields() {
      ip_ = "";
      ports_ = java.util.Collections.emptyList();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBytes(1, getIpBytes());
      }
      for (int i = 0; i < ports_.size(); i++) {
        output.writeUInt32(2, ports_.get(i));
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(1, getIpBytes());
      }
      {
        int dataSize = 0;
        for (int i = 0; i < ports_.size(); i++) {
          dataSize += com.google.protobuf.CodedOutputStream
            .computeUInt32SizeNoTag(ports_.get(i));
        }
        size += dataSize;
        size += 1 * getPortsList().size();
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static msec.monitor.Monitor.HostData parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static msec.monitor.Monitor.HostData parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static msec.monitor.Monitor.HostData parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static msec.monitor.Monitor.HostData parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static msec.monitor.Monitor.HostData parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static msec.monitor.Monitor.HostData parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static msec.monitor.Monitor.HostData parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static msec.monitor.Monitor.HostData parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static msec.monitor.Monitor.HostData parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static msec.monitor.Monitor.HostData parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(msec.monitor.Monitor.HostData prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code msec.monitor.HostData}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder>
       implements msec.monitor.Monitor.HostDataOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return msec.monitor.Monitor.internal_static_msec_monitor_HostData_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return msec.monitor.Monitor.internal_static_msec_monitor_HostData_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                msec.monitor.Monitor.HostData.class, msec.monitor.Monitor.HostData.Builder.class);
      }

      // Construct using msec.monitor.Monitor.HostData.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        ip_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        ports_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return msec.monitor.Monitor.internal_static_msec_monitor_HostData_descriptor;
      }

      public msec.monitor.Monitor.HostData getDefaultInstanceForType() {
        return msec.monitor.Monitor.HostData.getDefaultInstance();
      }

      public msec.monitor.Monitor.HostData build() {
        msec.monitor.Monitor.HostData result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public msec.monitor.Monitor.HostData buildPartial() {
        msec.monitor.Monitor.HostData result = new msec.monitor.Monitor.HostData(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.ip_ = ip_;
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          ports_ = java.util.Collections.unmodifiableList(ports_);
          bitField0_ = (bitField0_ & ~0x00000002);
        }
        result.ports_ = ports_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof msec.monitor.Monitor.HostData) {
          return mergeFrom((msec.monitor.Monitor.HostData)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(msec.monitor.Monitor.HostData other) {
        if (other == msec.monitor.Monitor.HostData.getDefaultInstance()) return this;
        if (other.hasIp()) {
          bitField0_ |= 0x00000001;
          ip_ = other.ip_;
          onChanged();
        }
        if (!other.ports_.isEmpty()) {
          if (ports_.isEmpty()) {
            ports_ = other.ports_;
            bitField0_ = (bitField0_ & ~0x00000002);
          } else {
            ensurePortsIsMutable();
            ports_.addAll(other.ports_);
          }
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        msec.monitor.Monitor.HostData parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (msec.monitor.Monitor.HostData) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional string ip = 1;
      private java.lang.Object ip_ = "";
      /**
       * <code>optional string ip = 1;</code>
       */
      public boolean hasIp() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>optional string ip = 1;</code>
       */
      public java.lang.String getIp() {
        java.lang.Object ref = ip_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          ip_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>optional string ip = 1;</code>
       */
      public com.google.protobuf.ByteString
          getIpBytes() {
        java.lang.Object ref = ip_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          ip_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>optional string ip = 1;</code>
       */
      public Builder setIp(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        ip_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional string ip = 1;</code>
       */
      public Builder clearIp() {
        bitField0_ = (bitField0_ & ~0x00000001);
        ip_ = getDefaultInstance().getIp();
        onChanged();
        return this;
      }
      /**
       * <code>optional string ip = 1;</code>
       */
      public Builder setIpBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        ip_ = value;
        onChanged();
        return this;
      }

      // repeated uint32 ports = 2;
      private java.util.List<java.lang.Integer> ports_ = java.util.Collections.emptyList();
      private void ensurePortsIsMutable() {
        if (!((bitField0_ & 0x00000002) == 0x00000002)) {
          ports_ = new java.util.ArrayList<java.lang.Integer>(ports_);
          bitField0_ |= 0x00000002;
         }
      }
      /**
       * <code>repeated uint32 ports = 2;</code>
       */
      public java.util.List<java.lang.Integer>
          getPortsList() {
        return java.util.Collections.unmodifiableList(ports_);
      }
      /**
       * <code>repeated uint32 ports = 2;</code>
       */
      public int getPortsCount() {
        return ports_.size();
      }
      /**
       * <code>repeated uint32 ports = 2;</code>
       */
      public int getPorts(int index) {
        return ports_.get(index);
      }
      /**
       * <code>repeated uint32 ports = 2;</code>
       */
      public Builder setPorts(
          int index, int value) {
        ensurePortsIsMutable();
        ports_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated uint32 ports = 2;</code>
       */
      public Builder addPorts(int value) {
        ensurePortsIsMutable();
        ports_.add(value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated uint32 ports = 2;</code>
       */
      public Builder addAllPorts(
          java.lang.Iterable<? extends java.lang.Integer> values) {
        ensurePortsIsMutable();
        super.addAll(values, ports_);
        onChanged();
        return this;
      }
      /**
       * <code>repeated uint32 ports = 2;</code>
       */
      public Builder clearPorts() {
        ports_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000002);
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:msec.monitor.HostData)
    }

    static {
      defaultInstance = new HostData(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:msec.monitor.HostData)
  }

  public interface RespServiceOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // repeated string attrnames = 1;
    /**
     * <code>repeated string attrnames = 1;</code>
     */
    java.util.List<java.lang.String>
    getAttrnamesList();
    /**
     * <code>repeated string attrnames = 1;</code>
     */
    int getAttrnamesCount();
    /**
     * <code>repeated string attrnames = 1;</code>
     */
    java.lang.String getAttrnames(int index);
    /**
     * <code>repeated string attrnames = 1;</code>
     */
    com.google.protobuf.ByteString
        getAttrnamesBytes(int index);

    // repeated string ips = 2;
    /**
     * <code>repeated string ips = 2;</code>
     */
    java.util.List<java.lang.String>
    getIpsList();
    /**
     * <code>repeated string ips = 2;</code>
     */
    int getIpsCount();
    /**
     * <code>repeated string ips = 2;</code>
     */
    java.lang.String getIps(int index);
    /**
     * <code>repeated string ips = 2;</code>
     */
    com.google.protobuf.ByteString
        getIpsBytes(int index);

    // repeated .msec.monitor.AlarmAttr alarmattrs = 3;
    /**
     * <code>repeated .msec.monitor.AlarmAttr alarmattrs = 3;</code>
     */
    java.util.List<msec.monitor.Monitor.AlarmAttr>
        getAlarmattrsList();
    /**
     * <code>repeated .msec.monitor.AlarmAttr alarmattrs = 3;</code>
     */
    msec.monitor.Monitor.AlarmAttr getAlarmattrs(int index);
    /**
     * <code>repeated .msec.monitor.AlarmAttr alarmattrs = 3;</code>
     */
    int getAlarmattrsCount();
    /**
     * <code>repeated .msec.monitor.AlarmAttr alarmattrs = 3;</code>
     */
    java.util.List<? extends msec.monitor.Monitor.AlarmAttrOrBuilder>
        getAlarmattrsOrBuilderList();
    /**
     * <code>repeated .msec.monitor.AlarmAttr alarmattrs = 3;</code>
     */
    msec.monitor.Monitor.AlarmAttrOrBuilder getAlarmattrsOrBuilder(
        int index);

    // repeated .msec.monitor.HostData hosts = 4;
    /**
     * <code>repeated .msec.monitor.HostData hosts = 4;</code>
     */
    java.util.List<msec.monitor.Monitor.HostData>
        getHostsList();
    /**
     * <code>repeated .msec.monitor.HostData hosts = 4;</code>
     */
    msec.monitor.Monitor.HostData getHosts(int index);
    /**
     * <code>repeated .msec.monitor.HostData hosts = 4;</code>
     */
    int getHostsCount();
    /**
     * <code>repeated .msec.monitor.HostData hosts = 4;</code>
     */
    java.util.List<? extends msec.monitor.Monitor.HostDataOrBuilder>
        getHostsOrBuilderList();
    /**
     * <code>repeated .msec.monitor.HostData hosts = 4;</code>
     */
    msec.monitor.Monitor.HostDataOrBuilder getHostsOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code msec.monitor.RespService}
   */
  public static final class RespService extends
      com.google.protobuf.GeneratedMessage
      implements RespServiceOrBuilder {
    // Use RespService.newBuilder() to construct.
    private RespService(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private RespService(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final RespService defaultInstance;
    public static RespService getDefaultInstance() {
      return defaultInstance;
    }

    public RespService getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private RespService(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
                attrnames_ = new com.google.protobuf.LazyStringArrayList();
                mutable_bitField0_ |= 0x00000001;
              }
              attrnames_.add(input.readBytes());
              break;
            }
            case 18: {
              if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
                ips_ = new com.google.protobuf.LazyStringArrayList();
                mutable_bitField0_ |= 0x00000002;
              }
              ips_.add(input.readBytes());
              break;
            }
            case 26: {
              if (!((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
                alarmattrs_ = new java.util.ArrayList<msec.monitor.Monitor.AlarmAttr>();
                mutable_bitField0_ |= 0x00000004;
              }
              alarmattrs_.add(input.readMessage(msec.monitor.Monitor.AlarmAttr.PARSER, extensionRegistry));
              break;
            }
            case 34: {
              if (!((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
                hosts_ = new java.util.ArrayList<msec.monitor.Monitor.HostData>();
                mutable_bitField0_ |= 0x00000008;
              }
              hosts_.add(input.readMessage(msec.monitor.Monitor.HostData.PARSER, extensionRegistry));
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
          attrnames_ = new com.google.protobuf.UnmodifiableLazyStringList(attrnames_);
        }
        if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
          ips_ = new com.google.protobuf.UnmodifiableLazyStringList(ips_);
        }
        if (((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
          alarmattrs_ = java.util.Collections.unmodifiableList(alarmattrs_);
        }
        if (((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
          hosts_ = java.util.Collections.unmodifiableList(hosts_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return msec.monitor.Monitor.internal_static_msec_monitor_RespService_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return msec.monitor.Monitor.internal_static_msec_monitor_RespService_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              msec.monitor.Monitor.RespService.class, msec.monitor.Monitor.RespService.Builder.class);
    }

    public static com.google.protobuf.Parser<RespService> PARSER =
        new com.google.protobuf.AbstractParser<RespService>() {
      public RespService parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new RespService(input, extensionRegistry);
      }
    };

    @java.lang.Override
    public com.google.protobuf.Parser<RespService> getParserForType() {
      return PARSER;
    }

    // repeated string attrnames = 1;
    public static final int ATTRNAMES_FIELD_NUMBER = 1;
    private com.google.protobuf.LazyStringList attrnames_;
    /**
     * <code>repeated string attrnames = 1;</code>
     */
    public java.util.List<java.lang.String>
        getAttrnamesList() {
      return attrnames_;
    }
    /**
     * <code>repeated string attrnames = 1;</code>
     */
    public int getAttrnamesCount() {
      return attrnames_.size();
    }
    /**
     * <code>repeated string attrnames = 1;</code>
     */
    public java.lang.String getAttrnames(int index) {
      return attrnames_.get(index);
    }
    /**
     * <code>repeated string attrnames = 1;</code>
     */
    public com.google.protobuf.ByteString
        getAttrnamesBytes(int index) {
      return attrnames_.getByteString(index);
    }

    // repeated string ips = 2;
    public static final int IPS_FIELD_NUMBER = 2;
    private com.google.protobuf.LazyStringList ips_;
    /**
     * <code>repeated string ips = 2;</code>
     */
    public java.util.List<java.lang.String>
        getIpsList() {
      return ips_;
    }
    /**
     * <code>repeated string ips = 2;</code>
     */
    public int getIpsCount() {
      return ips_.size();
    }
    /**
     * <code>repeated string ips = 2;</code>
     */
    public java.lang.String getIps(int index) {
      return ips_.get(index);
    }
    /**
     * <code>repeated string ips = 2;</code>
     */
    public com.google.protobuf.ByteString
        getIpsBytes(int index) {
      return ips_.getByteString(index);
    }

    // repeated .msec.monitor.AlarmAttr alarmattrs = 3;
    public static final int ALARMATTRS_FIELD_NUMBER = 3;
    private java.util.List<msec.monitor.Monitor.AlarmAttr> alarmattrs_;
    /**
     * <code>repeated .msec.monitor.AlarmAttr alarmattrs = 3;</code>
     */
    public java.util.List<msec.monitor.Monitor.AlarmAttr> getAlarmattrsList() {
      return alarmattrs_;
    }
    /**
     * <code>repeated .msec.monitor.AlarmAttr alarmattrs = 3;</code>
     */
    public java.util.List<? extends msec.monitor.Monitor.AlarmAttrOrBuilder>
        getAlarmattrsOrBuilderList() {
      return alarmattrs_;
    }
    /**
     * <code>repeated .msec.monitor.AlarmAttr alarmattrs = 3;</code>
     */
    public int getAlarmattrsCount() {
      return alarmattrs_.size();
    }
    /**
     * <code>repeated .msec.monitor.AlarmAttr alarmattrs = 3;</code>
     */
    public msec.monitor.Monitor.AlarmAttr getAlarmattrs(int index) {
      return alarmattrs_.get(index);
    }
    /**
     * <code>repeated .msec.monitor.AlarmAttr alarmattrs = 3;</code>
     */
    public msec.monitor.Monitor.AlarmAttrOrBuilder getAlarmattrsOrBuilder(
        int index) {
      return alarmattrs_.get(index);
    }

    // repeated .msec.monitor.HostData hosts = 4;
    public static final int HOSTS_FIELD_NUMBER = 4;
    private java.util.List<msec.monitor.Monitor.HostData> hosts_;
    /**
     * <code>repeated .msec.monitor.HostData hosts = 4;</code>
     */
    public java.util.List<msec.monitor.Monitor.HostData> getHostsList() {
      return hosts_;
    }
    /**
     * <code>repeated .msec.monitor.HostData hosts = 4;</code>
     */
    public java.util.List<? extends msec.monitor.Monitor.HostDataOrBuilder>
        getHostsOrBuilderList() {
      return hosts_;
    }
    /**
     * <code>repeated .msec.monitor.HostData hosts = 4;</code>
     */
    public int getHostsCount() {
      return hosts_.size();
    }
    /**
     * <code>repeated .msec.monitor.HostData hosts = 4;</code>
     */
    public msec.monitor.Monitor.HostData getHosts(int index) {
      return hosts_.get(index);
    }
    /**
     * <code>repeated .msec.monitor.HostData hosts = 4;</code>
     */
    public msec.monitor.Monitor.HostDataOrBuilder getHostsOrBuilder(
        int index) {
      return hosts_.get(index);
    }

    private void initFields() {
      attrnames_ = com.google.protobuf.LazyStringArrayList.EMPTY;
      ips_ = com.google.protobuf.LazyStringArrayList.EMPTY;
      alarmattrs_ = java.util.Collections.emptyList();
      hosts_ = java.util.Collections.emptyList();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      for (int i = 0; i < attrnames_.size(); i++) {
        output.writeBytes(1, attrnames_.getByteString(i));
      }
      for (int i = 0; i < ips_.size(); i++) {
        output.writeBytes(2, ips_.getByteString(i));
      }
      for (int i = 0; i < alarmattrs_.size(); i++) {
        output.writeMessage(3, alarmattrs_.get(i));
      }
      for (int i = 0; i < hosts_.size(); i++) {
        output.writeMessage(4, hosts_.get(i));
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      {
        int dataSize = 0;
        for (int i = 0; i < attrnames_.size(); i++) {
          dataSize += com.google.protobuf.CodedOutputStream
            .computeBytesSizeNoTag(attrnames_.getByteString(i));
        }
        size += dataSize;
        size += 1 * getAttrnamesList().size();
      }
      {
        int dataSize = 0;
        for (int i = 0; i < ips_.size(); i++) {
          dataSize += com.google.protobuf.CodedOutputStream
            .computeBytesSizeNoTag(ips_.getByteString(i));
        }
        size += dataSize;
        size += 1 * getIpsList().size();
      }
      for (int i = 0; i < alarmattrs_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, alarmattrs_.get(i));
      }
      for (int i = 0; i < hosts_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(4, hosts_.get(i));
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static msec.monitor.Monitor.RespService parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static msec.monitor.Monitor.RespService parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static msec.monitor.Monitor.RespService parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static msec.monitor.Monitor.RespService parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static msec.monitor.Monitor.RespService parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static msec.monitor.Monitor.RespService parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static msec.monitor.Monitor.RespService parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static msec.monitor.Monitor.RespService parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static msec.monitor.Monitor.RespService parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static msec.monitor.Monitor.RespService parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(msec.monitor.Monitor.RespService prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code msec.monitor.RespService}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder>
       implements msec.monitor.Monitor.RespServiceOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return msec.monitor.Monitor.internal_static_msec_monitor_RespService_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return msec.monitor.Monitor.internal_static_msec_monitor_RespService_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                msec.monitor.Monitor.RespService.class, msec.monitor.Monitor.RespService.Builder.class);
      }

      // Construct using msec.monitor.Monitor.RespService.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getAlarmattrsFieldBuilder();
          getHostsFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        attrnames_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000001);
        ips_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000002);
        if (alarmattrsBuilder_ == null) {
          alarmattrs_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000004);
        } else {
          alarmattrsBuilder_.clear();
        }
        if (hostsBuilder_ == null) {
          hosts_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000008);
        } else {
          hostsBuilder_.clear();
        }
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return msec.monitor.Monitor.internal_static_msec_monitor_RespService_descriptor;
      }

      public msec.monitor.Monitor.RespService getDefaultInstanceForType() {
        return msec.monitor.Monitor.RespService.getDefaultInstance();
      }

      public msec.monitor.Monitor.RespService build() {
        msec.monitor.Monitor.RespService result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public msec.monitor.Monitor.RespService buildPartial() {
        msec.monitor.Monitor.RespService result = new msec.monitor.Monitor.RespService(this);
        int from_bitField0_ = bitField0_;
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          attrnames_ = new com.google.protobuf.UnmodifiableLazyStringList(
              attrnames_);
          bitField0_ = (bitField0_ & ~0x00000001);
        }
        result.attrnames_ = attrnames_;
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          ips_ = new com.google.protobuf.UnmodifiableLazyStringList(
              ips_);
          bitField0_ = (bitField0_ & ~0x00000002);
        }
        result.ips_ = ips_;
        if (alarmattrsBuilder_ == null) {
          if (((bitField0_ & 0x00000004) == 0x00000004)) {
            alarmattrs_ = java.util.Collections.unmodifiableList(alarmattrs_);
            bitField0_ = (bitField0_ & ~0x00000004);
          }
          result.alarmattrs_ = alarmattrs_;
        } else {
          result.alarmattrs_ = alarmattrsBuilder_.build();
        }
        if (hostsBuilder_ == null) {
          if (((bitField0_ & 0x00000008) == 0x00000008)) {
            hosts_ = java.util.Collections.unmodifiableList(hosts_);
            bitField0_ = (bitField0_ & ~0x00000008);
          }
          result.hosts_ = hosts_;
        } else {
          result.hosts_ = hostsBuilder_.build();
        }
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof msec.monitor.Monitor.RespService) {
          return mergeFrom((msec.monitor.Monitor.RespService)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(msec.monitor.Monitor.RespService other) {
        if (other == msec.monitor.Monitor.RespService.getDefaultInstance()) return this;
        if (!other.attrnames_.isEmpty()) {
          if (attrnames_.isEmpty()) {
            attrnames_ = other.attrnames_;
            bitField0_ = (bitField0_ & ~0x00000001);
          } else {
            ensureAttrnamesIsMutable();
            attrnames_.addAll(other.attrnames_);
          }
          onChanged();
        }
        if (!other.ips_.isEmpty()) {
          if (ips_.isEmpty()) {
            ips_ = other.ips_;
            bitField0_ = (bitField0_ & ~0x00000002);
          } else {
            ensureIpsIsMutable();
            ips_.addAll(other.ips_);
          }
          onChanged();
        }
        if (alarmattrsBuilder_ == null) {
          if (!other.alarmattrs_.isEmpty()) {
            if (alarmattrs_.isEmpty()) {
              alarmattrs_ = other.alarmattrs_;
              bitField0_ = (bitField0_ & ~0x00000004);
            } else {
              ensureAlarmattrsIsMutable();
              alarmattrs_.addAll(other.alarmattrs_);
            }
            onChanged();
          }
        } else {
          if (!other.alarmattrs_.isEmpty()) {
            if (alarmattrsBuilder_.isEmpty()) {
              alarmattrsBuilder_.dispose();
              alarmattrsBuilder_ = null;
              alarmattrs_ = other.alarmattrs_;
              bitField0_ = (bitField0_ & ~0x00000004);
              alarmattrsBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getAlarmattrsFieldBuilder() : null;
            } else {
              alarmattrsBuilder_.addAllMessages(other.alarmattrs_);
            }
          }
        }
        if (hostsBuilder_ == null) {
          if (!other.hosts_.isEmpty()) {
            if (hosts_.isEmpty()) {
              hosts_ = other.hosts_;
              bitField0_ = (bitField0_ & ~0x00000008);
            } else {
              ensureHostsIsMutable();
              hosts_.addAll(other.hosts_);
            }
            onChanged();
          }
        } else {
          if (!other.hosts_.isEmpty()) {
            if (hostsBuilder_.isEmpty()) {
              hostsBuilder_.dispose();
              hostsBuilder_ = null;
              hosts_ = other.hosts_;
              bitField0_ = (bitField0_ & ~0x00000008);
              hostsBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getHostsFieldBuilder() : null;
            } else {
              hostsBuilder_.addAllMessages(other.hosts_);
            }
          }
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        msec.monitor.Monitor.RespService parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (msec.monitor.Monitor.RespService) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // repeated string attrnames = 1;
      private com.google.protobuf.LazyStringList attrnames_ = com.google.protobuf.LazyStringArrayList.EMPTY;
      private void ensureAttrnamesIsMutable() {
        if (!((bitField0_ & 0x00000001) == 0x00000001)) {
          attrnames_ = new com.google.protobuf.LazyStringArrayList(attrnames_);
          bitField0_ |= 0x00000001;
         }
      }
      /**
       * <code>repeated string attrnames = 1;</code>
       */
      public java.util.List<java.lang.String>
          getAttrnamesList() {
        return java.util.Collections.unmodifiableList(attrnames_);
      }
      /**
       * <code>repeated string attrnames = 1;</code>
       */
      public int getAttrnamesCount() {
        return attrnames_.size();
      }
      /**
       * <code>repeated string attrnames = 1;</code>
       */
      public java.lang.String getAttrnames(int index) {
        return attrnames_.get(index);
      }
      /**
       * <code>repeated string attrnames = 1;</code>
       */
      public com.google.protobuf.ByteString
          getAttrnamesBytes(int index) {
        return attrnames_.getByteString(index);
      }
      /**
       * <code>repeated string attrnames = 1;</code>
       */
      public Builder setAttrnames(
          int index, java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureAttrnamesIsMutable();
        attrnames_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated string attrnames = 1;</code>
       */
      public Builder addAttrnames(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureAttrnamesIsMutable();
        attrnames_.add(value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated string attrnames = 1;</code>
       */
      public Builder addAllAttrnames(
          java.lang.Iterable<java.lang.String> values) {
        ensureAttrnamesIsMutable();
        super.addAll(values, attrnames_);
        onChanged();
        return this;
      }
      /**
       * <code>repeated string attrnames = 1;</code>
       */
      public Builder clearAttrnames() {
        attrnames_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000001);
        onChanged();
        return this;
      }
      /**
       * <code>repeated string attrnames = 1;</code>
       */
      public Builder addAttrnamesBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureAttrnamesIsMutable();
        attrnames_.add(value);
        onChanged();
        return this;
      }

      // repeated string ips = 2;
      private com.google.protobuf.LazyStringList ips_ = com.google.protobuf.LazyStringArrayList.EMPTY;
      private void ensureIpsIsMutable() {
        if (!((bitField0_ & 0x00000002) == 0x00000002)) {
          ips_ = new com.google.protobuf.LazyStringArrayList(ips_);
          bitField0_ |= 0x00000002;
         }
      }
      /**
       * <code>repeated string ips = 2;</code>
       */
      public java.util.List<java.lang.String>
          getIpsList() {
        return java.util.Collections.unmodifiableList(ips_);
      }
      /**
       * <code>repeated string ips = 2;</code>
       */
      public int getIpsCount() {
        return ips_.size();
      }
      /**
       * <code>repeated string ips = 2;</code>
       */
      public java.lang.String getIps(int index) {
        return ips_.get(index);
      }
      /**
       * <code>repeated string ips = 2;</code>
       */
      public com.google.protobuf.ByteString
          getIpsBytes(int index) {
        return ips_.getByteString(index);
      }
      /**
       * <code>repeated string ips = 2;</code>
       */
      public Builder setIps(
          int index, java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureIpsIsMutable();
        ips_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated string ips = 2;</code>
       */
      public Builder addIps(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureIpsIsMutable();
        ips_.add(value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated string ips = 2;</code>
       */
      public Builder addAllIps(
          java.lang.Iterable<java.lang.String> values) {
        ensureIpsIsMutable();
        super.addAll(values, ips_);
        onChanged();
        return this;
      }
      /**
       * <code>repeated string ips = 2;</code>
       */
      public Builder clearIps() {
        ips_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000002);
        onChanged();
        return this;
      }
      /**
       * <code>repeated string ips = 2;</code>
       */
      public Builder addIpsBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureIpsIsMutable();
        ips_.add(value);
        onChanged();
        return this;
      }

      // repeated .msec.monitor.AlarmAttr alarmattrs = 3;
      private java.util.List<msec.monitor.Monitor.AlarmAttr> alarmattrs_ =
        java.util.Collections.emptyList();
      private void ensureAlarmattrsIsMutable() {
        if (!((bitField0_ & 0x00000004) == 0x00000004)) {
          alarmattrs_ = new java.util.ArrayList<msec.monitor.Monitor.AlarmAttr>(alarmattrs_);
          bitField0_ |= 0x00000004;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilder<
          msec.monitor.Monitor.AlarmAttr, msec.monitor.Monitor.AlarmAttr.Builder, msec.monitor.Monitor.AlarmAttrOrBuilder> alarmattrsBuilder_;

      /**
       * <code>repeated .msec.monitor.AlarmAttr alarmattrs = 3;</code>
       */
      public java.util.List<msec.monitor.Monitor.AlarmAttr> getAlarmattrsList() {
        if (alarmattrsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(alarmattrs_);
        } else {
          return alarmattrsBuilder_.getMessageList();
        }
      }
      /**
       * <code>repeated .msec.monitor.AlarmAttr alarmattrs = 3;</code>
       */
      public int getAlarmattrsCount() {
        if (alarmattrsBuilder_ == null) {
          return alarmattrs_.size();
        } else {
          return alarmattrsBuilder_.getCount();
        }
      }
      /**
       * <code>repeated .msec.monitor.AlarmAttr alarmattrs = 3;</code>
       */
      public msec.monitor.Monitor.AlarmAttr getAlarmattrs(int index) {
        if (alarmattrsBuilder_ == null) {
          return alarmattrs_.get(index);
        } else {
          return alarmattrsBuilder_.getMessage(index);
        }
      }
      /**
       * <code>repeated .msec.monitor.AlarmAttr alarmattrs = 3;</code>
       */
      public Builder setAlarmattrs(
          int index, msec.monitor.Monitor.AlarmAttr value) {
        if (alarmattrsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureAlarmattrsIsMutable();
          alarmattrs_.set(index, value);
          onChanged();
        } else {
          alarmattrsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.AlarmAttr alarmattrs = 3;</code>
       */
      public Builder setAlarmattrs(
          int index, msec.monitor.Monitor.AlarmAttr.Builder builderForValue) {
        if (alarmattrsBuilder_ == null) {
          ensureAlarmattrsIsMutable();
          alarmattrs_.set(index, builderForValue.build());
          onChanged();
        } else {
          alarmattrsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.AlarmAttr alarmattrs = 3;</code>
       */
      public Builder addAlarmattrs(msec.monitor.Monitor.AlarmAttr value) {
        if (alarmattrsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureAlarmattrsIsMutable();
          alarmattrs_.add(value);
          onChanged();
        } else {
          alarmattrsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.AlarmAttr alarmattrs = 3;</code>
       */
      public Builder addAlarmattrs(
          int index, msec.monitor.Monitor.AlarmAttr value) {
        if (alarmattrsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureAlarmattrsIsMutable();
          alarmattrs_.add(index, value);
          onChanged();
        } else {
          alarmattrsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.AlarmAttr alarmattrs = 3;</code>
       */
      public Builder addAlarmattrs(
          msec.monitor.Monitor.AlarmAttr.Builder builderForValue) {
        if (alarmattrsBuilder_ == null) {
          ensureAlarmattrsIsMutable();
          alarmattrs_.add(builderForValue.build());
          onChanged();
        } else {
          alarmattrsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.AlarmAttr alarmattrs = 3;</code>
       */
      public Builder addAlarmattrs(
          int index, msec.monitor.Monitor.AlarmAttr.Builder builderForValue) {
        if (alarmattrsBuilder_ == null) {
          ensureAlarmattrsIsMutable();
          alarmattrs_.add(index, builderForValue.build());
          onChanged();
        } else {
          alarmattrsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.AlarmAttr alarmattrs = 3;</code>
       */
      public Builder addAllAlarmattrs(
          java.lang.Iterable<? extends msec.monitor.Monitor.AlarmAttr> values) {
        if (alarmattrsBuilder_ == null) {
          ensureAlarmattrsIsMutable();
          super.addAll(values, alarmattrs_);
          onChanged();
        } else {
          alarmattrsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.AlarmAttr alarmattrs = 3;</code>
       */
      public Builder clearAlarmattrs() {
        if (alarmattrsBuilder_ == null) {
          alarmattrs_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000004);
          onChanged();
        } else {
          alarmattrsBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.AlarmAttr alarmattrs = 3;</code>
       */
      public Builder removeAlarmattrs(int index) {
        if (alarmattrsBuilder_ == null) {
          ensureAlarmattrsIsMutable();
          alarmattrs_.remove(index);
          onChanged();
        } else {
          alarmattrsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.AlarmAttr alarmattrs = 3;</code>
       */
      public msec.monitor.Monitor.AlarmAttr.Builder getAlarmattrsBuilder(
          int index) {
        return getAlarmattrsFieldBuilder().getBuilder(index);
      }
      /**
       * <code>repeated .msec.monitor.AlarmAttr alarmattrs = 3;</code>
       */
      public msec.monitor.Monitor.AlarmAttrOrBuilder getAlarmattrsOrBuilder(
          int index) {
        if (alarmattrsBuilder_ == null) {
          return alarmattrs_.get(index);  } else {
          return alarmattrsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <code>repeated .msec.monitor.AlarmAttr alarmattrs = 3;</code>
       */
      public java.util.List<? extends msec.monitor.Monitor.AlarmAttrOrBuilder>
           getAlarmattrsOrBuilderList() {
        if (alarmattrsBuilder_ != null) {
          return alarmattrsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(alarmattrs_);
        }
      }
      /**
       * <code>repeated .msec.monitor.AlarmAttr alarmattrs = 3;</code>
       */
      public msec.monitor.Monitor.AlarmAttr.Builder addAlarmattrsBuilder() {
        return getAlarmattrsFieldBuilder().addBuilder(
            msec.monitor.Monitor.AlarmAttr.getDefaultInstance());
      }
      /**
       * <code>repeated .msec.monitor.AlarmAttr alarmattrs = 3;</code>
       */
      public msec.monitor.Monitor.AlarmAttr.Builder addAlarmattrsBuilder(
          int index) {
        return getAlarmattrsFieldBuilder().addBuilder(
            index, msec.monitor.Monitor.AlarmAttr.getDefaultInstance());
      }
      /**
       * <code>repeated .msec.monitor.AlarmAttr alarmattrs = 3;</code>
       */
      public java.util.List<msec.monitor.Monitor.AlarmAttr.Builder>
           getAlarmattrsBuilderList() {
        return getAlarmattrsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          msec.monitor.Monitor.AlarmAttr, msec.monitor.Monitor.AlarmAttr.Builder, msec.monitor.Monitor.AlarmAttrOrBuilder>
          getAlarmattrsFieldBuilder() {
        if (alarmattrsBuilder_ == null) {
          alarmattrsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              msec.monitor.Monitor.AlarmAttr, msec.monitor.Monitor.AlarmAttr.Builder, msec.monitor.Monitor.AlarmAttrOrBuilder>(
                  alarmattrs_,
                  ((bitField0_ & 0x00000004) == 0x00000004),
                  getParentForChildren(),
                  isClean());
          alarmattrs_ = null;
        }
        return alarmattrsBuilder_;
      }

      // repeated .msec.monitor.HostData hosts = 4;
      private java.util.List<msec.monitor.Monitor.HostData> hosts_ =
        java.util.Collections.emptyList();
      private void ensureHostsIsMutable() {
        if (!((bitField0_ & 0x00000008) == 0x00000008)) {
          hosts_ = new java.util.ArrayList<msec.monitor.Monitor.HostData>(hosts_);
          bitField0_ |= 0x00000008;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilder<
          msec.monitor.Monitor.HostData, msec.monitor.Monitor.HostData.Builder, msec.monitor.Monitor.HostDataOrBuilder> hostsBuilder_;

      /**
       * <code>repeated .msec.monitor.HostData hosts = 4;</code>
       */
      public java.util.List<msec.monitor.Monitor.HostData> getHostsList() {
        if (hostsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(hosts_);
        } else {
          return hostsBuilder_.getMessageList();
        }
      }
      /**
       * <code>repeated .msec.monitor.HostData hosts = 4;</code>
       */
      public int getHostsCount() {
        if (hostsBuilder_ == null) {
          return hosts_.size();
        } else {
          return hostsBuilder_.getCount();
        }
      }
      /**
       * <code>repeated .msec.monitor.HostData hosts = 4;</code>
       */
      public msec.monitor.Monitor.HostData getHosts(int index) {
        if (hostsBuilder_ == null) {
          return hosts_.get(index);
        } else {
          return hostsBuilder_.getMessage(index);
        }
      }
      /**
       * <code>repeated .msec.monitor.HostData hosts = 4;</code>
       */
      public Builder setHosts(
          int index, msec.monitor.Monitor.HostData value) {
        if (hostsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureHostsIsMutable();
          hosts_.set(index, value);
          onChanged();
        } else {
          hostsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.HostData hosts = 4;</code>
       */
      public Builder setHosts(
          int index, msec.monitor.Monitor.HostData.Builder builderForValue) {
        if (hostsBuilder_ == null) {
          ensureHostsIsMutable();
          hosts_.set(index, builderForValue.build());
          onChanged();
        } else {
          hostsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.HostData hosts = 4;</code>
       */
      public Builder addHosts(msec.monitor.Monitor.HostData value) {
        if (hostsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureHostsIsMutable();
          hosts_.add(value);
          onChanged();
        } else {
          hostsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.HostData hosts = 4;</code>
       */
      public Builder addHosts(
          int index, msec.monitor.Monitor.HostData value) {
        if (hostsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureHostsIsMutable();
          hosts_.add(index, value);
          onChanged();
        } else {
          hostsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.HostData hosts = 4;</code>
       */
      public Builder addHosts(
          msec.monitor.Monitor.HostData.Builder builderForValue) {
        if (hostsBuilder_ == null) {
          ensureHostsIsMutable();
          hosts_.add(builderForValue.build());
          onChanged();
        } else {
          hostsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.HostData hosts = 4;</code>
       */
      public Builder addHosts(
          int index, msec.monitor.Monitor.HostData.Builder builderForValue) {
        if (hostsBuilder_ == null) {
          ensureHostsIsMutable();
          hosts_.add(index, builderForValue.build());
          onChanged();
        } else {
          hostsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.HostData hosts = 4;</code>
       */
      public Builder addAllHosts(
          java.lang.Iterable<? extends msec.monitor.Monitor.HostData> values) {
        if (hostsBuilder_ == null) {
          ensureHostsIsMutable();
          super.addAll(values, hosts_);
          onChanged();
        } else {
          hostsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.HostData hosts = 4;</code>
       */
      public Builder clearHosts() {
        if (hostsBuilder_ == null) {
          hosts_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000008);
          onChanged();
        } else {
          hostsBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.HostData hosts = 4;</code>
       */
      public Builder removeHosts(int index) {
        if (hostsBuilder_ == null) {
          ensureHostsIsMutable();
          hosts_.remove(index);
          onChanged();
        } else {
          hostsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.HostData hosts = 4;</code>
       */
      public msec.monitor.Monitor.HostData.Builder getHostsBuilder(
          int index) {
        return getHostsFieldBuilder().getBuilder(index);
      }
      /**
       * <code>repeated .msec.monitor.HostData hosts = 4;</code>
       */
      public msec.monitor.Monitor.HostDataOrBuilder getHostsOrBuilder(
          int index) {
        if (hostsBuilder_ == null) {
          return hosts_.get(index);  } else {
          return hostsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <code>repeated .msec.monitor.HostData hosts = 4;</code>
       */
      public java.util.List<? extends msec.monitor.Monitor.HostDataOrBuilder>
           getHostsOrBuilderList() {
        if (hostsBuilder_ != null) {
          return hostsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(hosts_);
        }
      }
      /**
       * <code>repeated .msec.monitor.HostData hosts = 4;</code>
       */
      public msec.monitor.Monitor.HostData.Builder addHostsBuilder() {
        return getHostsFieldBuilder().addBuilder(
            msec.monitor.Monitor.HostData.getDefaultInstance());
      }
      /**
       * <code>repeated .msec.monitor.HostData hosts = 4;</code>
       */
      public msec.monitor.Monitor.HostData.Builder addHostsBuilder(
          int index) {
        return getHostsFieldBuilder().addBuilder(
            index, msec.monitor.Monitor.HostData.getDefaultInstance());
      }
      /**
       * <code>repeated .msec.monitor.HostData hosts = 4;</code>
       */
      public java.util.List<msec.monitor.Monitor.HostData.Builder>
           getHostsBuilderList() {
        return getHostsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          msec.monitor.Monitor.HostData, msec.monitor.Monitor.HostData.Builder, msec.monitor.Monitor.HostDataOrBuilder>
          getHostsFieldBuilder() {
        if (hostsBuilder_ == null) {
          hostsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              msec.monitor.Monitor.HostData, msec.monitor.Monitor.HostData.Builder, msec.monitor.Monitor.HostDataOrBuilder>(
                  hosts_,
                  ((bitField0_ & 0x00000008) == 0x00000008),
                  getParentForChildren(),
                  isClean());
          hosts_ = null;
        }
        return hostsBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:msec.monitor.RespService)
    }

    static {
      defaultInstance = new RespService(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:msec.monitor.RespService)
  }

  public interface ReqServiceAttrOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional string servicename = 1;
    /**
     * <code>optional string servicename = 1;</code>
     */
    boolean hasServicename();
    /**
     * <code>optional string servicename = 1;</code>
     */
    java.lang.String getServicename();
    /**
     * <code>optional string servicename = 1;</code>
     */
    com.google.protobuf.ByteString
        getServicenameBytes();

    // repeated string attrnames = 2;
    /**
     * <code>repeated string attrnames = 2;</code>
     */
    java.util.List<java.lang.String>
    getAttrnamesList();
    /**
     * <code>repeated string attrnames = 2;</code>
     */
    int getAttrnamesCount();
    /**
     * <code>repeated string attrnames = 2;</code>
     */
    java.lang.String getAttrnames(int index);
    /**
     * <code>repeated string attrnames = 2;</code>
     */
    com.google.protobuf.ByteString
        getAttrnamesBytes(int index);

    // repeated uint32 days = 3;
    /**
     * <code>repeated uint32 days = 3;</code>
     *
     * <pre>
     *如2016年2月24日对应的值为20160224
     * </pre>
     */
    java.util.List<java.lang.Integer> getDaysList();
    /**
     * <code>repeated uint32 days = 3;</code>
     *
     * <pre>
     *如2016年2月24日对应的值为20160224
     * </pre>
     */
    int getDaysCount();
    /**
     * <code>repeated uint32 days = 3;</code>
     *
     * <pre>
     *如2016年2月24日对应的值为20160224
     * </pre>
     */
    int getDays(int index);
  }
  /**
   * Protobuf type {@code msec.monitor.ReqServiceAttr}
   *
   * <pre>
   *批量获取单个Service的多天多属性数据
   * </pre>
   */
  public static final class ReqServiceAttr extends
      com.google.protobuf.GeneratedMessage
      implements ReqServiceAttrOrBuilder {
    // Use ReqServiceAttr.newBuilder() to construct.
    private ReqServiceAttr(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private ReqServiceAttr(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final ReqServiceAttr defaultInstance;
    public static ReqServiceAttr getDefaultInstance() {
      return defaultInstance;
    }

    public ReqServiceAttr getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private ReqServiceAttr(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              bitField0_ |= 0x00000001;
              servicename_ = input.readBytes();
              break;
            }
            case 18: {
              if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
                attrnames_ = new com.google.protobuf.LazyStringArrayList();
                mutable_bitField0_ |= 0x00000002;
              }
              attrnames_.add(input.readBytes());
              break;
            }
            case 24: {
              if (!((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
                days_ = new java.util.ArrayList<java.lang.Integer>();
                mutable_bitField0_ |= 0x00000004;
              }
              days_.add(input.readUInt32());
              break;
            }
            case 26: {
              int length = input.readRawVarint32();
              int limit = input.pushLimit(length);
              if (!((mutable_bitField0_ & 0x00000004) == 0x00000004) && input.getBytesUntilLimit() > 0) {
                days_ = new java.util.ArrayList<java.lang.Integer>();
                mutable_bitField0_ |= 0x00000004;
              }
              while (input.getBytesUntilLimit() > 0) {
                days_.add(input.readUInt32());
              }
              input.popLimit(limit);
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
          attrnames_ = new com.google.protobuf.UnmodifiableLazyStringList(attrnames_);
        }
        if (((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
          days_ = java.util.Collections.unmodifiableList(days_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return msec.monitor.Monitor.internal_static_msec_monitor_ReqServiceAttr_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return msec.monitor.Monitor.internal_static_msec_monitor_ReqServiceAttr_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              msec.monitor.Monitor.ReqServiceAttr.class, msec.monitor.Monitor.ReqServiceAttr.Builder.class);
    }

    public static com.google.protobuf.Parser<ReqServiceAttr> PARSER =
        new com.google.protobuf.AbstractParser<ReqServiceAttr>() {
      public ReqServiceAttr parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new ReqServiceAttr(input, extensionRegistry);
      }
    };

    @java.lang.Override
    public com.google.protobuf.Parser<ReqServiceAttr> getParserForType() {
      return PARSER;
    }

    private int bitField0_;
    // optional string servicename = 1;
    public static final int SERVICENAME_FIELD_NUMBER = 1;
    private java.lang.Object servicename_;
    /**
     * <code>optional string servicename = 1;</code>
     */
    public boolean hasServicename() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>optional string servicename = 1;</code>
     */
    public java.lang.String getServicename() {
      java.lang.Object ref = servicename_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          servicename_ = s;
        }
        return s;
      }
    }
    /**
     * <code>optional string servicename = 1;</code>
     */
    public com.google.protobuf.ByteString
        getServicenameBytes() {
      java.lang.Object ref = servicename_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        servicename_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    // repeated string attrnames = 2;
    public static final int ATTRNAMES_FIELD_NUMBER = 2;
    private com.google.protobuf.LazyStringList attrnames_;
    /**
     * <code>repeated string attrnames = 2;</code>
     */
    public java.util.List<java.lang.String>
        getAttrnamesList() {
      return attrnames_;
    }
    /**
     * <code>repeated string attrnames = 2;</code>
     */
    public int getAttrnamesCount() {
      return attrnames_.size();
    }
    /**
     * <code>repeated string attrnames = 2;</code>
     */
    public java.lang.String getAttrnames(int index) {
      return attrnames_.get(index);
    }
    /**
     * <code>repeated string attrnames = 2;</code>
     */
    public com.google.protobuf.ByteString
        getAttrnamesBytes(int index) {
      return attrnames_.getByteString(index);
    }

    // repeated uint32 days = 3;
    public static final int DAYS_FIELD_NUMBER = 3;
    private java.util.List<java.lang.Integer> days_;
    /**
     * <code>repeated uint32 days = 3;</code>
     *
     * <pre>
     *如2016年2月24日对应的值为20160224
     * </pre>
     */
    public java.util.List<java.lang.Integer>
        getDaysList() {
      return days_;
    }
    /**
     * <code>repeated uint32 days = 3;</code>
     *
     * <pre>
     *如2016年2月24日对应的值为20160224
     * </pre>
     */
    public int getDaysCount() {
      return days_.size();
    }
    /**
     * <code>repeated uint32 days = 3;</code>
     *
     * <pre>
     *如2016年2月24日对应的值为20160224
     * </pre>
     */
    public int getDays(int index) {
      return days_.get(index);
    }

    private void initFields() {
      servicename_ = "";
      attrnames_ = com.google.protobuf.LazyStringArrayList.EMPTY;
      days_ = java.util.Collections.emptyList();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBytes(1, getServicenameBytes());
      }
      for (int i = 0; i < attrnames_.size(); i++) {
        output.writeBytes(2, attrnames_.getByteString(i));
      }
      for (int i = 0; i < days_.size(); i++) {
        output.writeUInt32(3, days_.get(i));
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(1, getServicenameBytes());
      }
      {
        int dataSize = 0;
        for (int i = 0; i < attrnames_.size(); i++) {
          dataSize += com.google.protobuf.CodedOutputStream
            .computeBytesSizeNoTag(attrnames_.getByteString(i));
        }
        size += dataSize;
        size += 1 * getAttrnamesList().size();
      }
      {
        int dataSize = 0;
        for (int i = 0; i < days_.size(); i++) {
          dataSize += com.google.protobuf.CodedOutputStream
            .computeUInt32SizeNoTag(days_.get(i));
        }
        size += dataSize;
        size += 1 * getDaysList().size();
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static msec.monitor.Monitor.ReqServiceAttr parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static msec.monitor.Monitor.ReqServiceAttr parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static msec.monitor.Monitor.ReqServiceAttr parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static msec.monitor.Monitor.ReqServiceAttr parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static msec.monitor.Monitor.ReqServiceAttr parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static msec.monitor.Monitor.ReqServiceAttr parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static msec.monitor.Monitor.ReqServiceAttr parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static msec.monitor.Monitor.ReqServiceAttr parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static msec.monitor.Monitor.ReqServiceAttr parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static msec.monitor.Monitor.ReqServiceAttr parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(msec.monitor.Monitor.ReqServiceAttr prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code msec.monitor.ReqServiceAttr}
     *
     * <pre>
     *批量获取单个Service的多天多属性数据
     * </pre>
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder>
       implements msec.monitor.Monitor.ReqServiceAttrOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return msec.monitor.Monitor.internal_static_msec_monitor_ReqServiceAttr_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return msec.monitor.Monitor.internal_static_msec_monitor_ReqServiceAttr_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                msec.monitor.Monitor.ReqServiceAttr.class, msec.monitor.Monitor.ReqServiceAttr.Builder.class);
      }

      // Construct using msec.monitor.Monitor.ReqServiceAttr.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        servicename_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        attrnames_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000002);
        days_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return msec.monitor.Monitor.internal_static_msec_monitor_ReqServiceAttr_descriptor;
      }

      public msec.monitor.Monitor.ReqServiceAttr getDefaultInstanceForType() {
        return msec.monitor.Monitor.ReqServiceAttr.getDefaultInstance();
      }

      public msec.monitor.Monitor.ReqServiceAttr build() {
        msec.monitor.Monitor.ReqServiceAttr result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public msec.monitor.Monitor.ReqServiceAttr buildPartial() {
        msec.monitor.Monitor.ReqServiceAttr result = new msec.monitor.Monitor.ReqServiceAttr(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.servicename_ = servicename_;
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          attrnames_ = new com.google.protobuf.UnmodifiableLazyStringList(
              attrnames_);
          bitField0_ = (bitField0_ & ~0x00000002);
        }
        result.attrnames_ = attrnames_;
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          days_ = java.util.Collections.unmodifiableList(days_);
          bitField0_ = (bitField0_ & ~0x00000004);
        }
        result.days_ = days_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof msec.monitor.Monitor.ReqServiceAttr) {
          return mergeFrom((msec.monitor.Monitor.ReqServiceAttr)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(msec.monitor.Monitor.ReqServiceAttr other) {
        if (other == msec.monitor.Monitor.ReqServiceAttr.getDefaultInstance()) return this;
        if (other.hasServicename()) {
          bitField0_ |= 0x00000001;
          servicename_ = other.servicename_;
          onChanged();
        }
        if (!other.attrnames_.isEmpty()) {
          if (attrnames_.isEmpty()) {
            attrnames_ = other.attrnames_;
            bitField0_ = (bitField0_ & ~0x00000002);
          } else {
            ensureAttrnamesIsMutable();
            attrnames_.addAll(other.attrnames_);
          }
          onChanged();
        }
        if (!other.days_.isEmpty()) {
          if (days_.isEmpty()) {
            days_ = other.days_;
            bitField0_ = (bitField0_ & ~0x00000004);
          } else {
            ensureDaysIsMutable();
            days_.addAll(other.days_);
          }
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        msec.monitor.Monitor.ReqServiceAttr parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (msec.monitor.Monitor.ReqServiceAttr) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional string servicename = 1;
      private java.lang.Object servicename_ = "";
      /**
       * <code>optional string servicename = 1;</code>
       */
      public boolean hasServicename() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>optional string servicename = 1;</code>
       */
      public java.lang.String getServicename() {
        java.lang.Object ref = servicename_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          servicename_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>optional string servicename = 1;</code>
       */
      public com.google.protobuf.ByteString
          getServicenameBytes() {
        java.lang.Object ref = servicename_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          servicename_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>optional string servicename = 1;</code>
       */
      public Builder setServicename(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        servicename_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional string servicename = 1;</code>
       */
      public Builder clearServicename() {
        bitField0_ = (bitField0_ & ~0x00000001);
        servicename_ = getDefaultInstance().getServicename();
        onChanged();
        return this;
      }
      /**
       * <code>optional string servicename = 1;</code>
       */
      public Builder setServicenameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        servicename_ = value;
        onChanged();
        return this;
      }

      // repeated string attrnames = 2;
      private com.google.protobuf.LazyStringList attrnames_ = com.google.protobuf.LazyStringArrayList.EMPTY;
      private void ensureAttrnamesIsMutable() {
        if (!((bitField0_ & 0x00000002) == 0x00000002)) {
          attrnames_ = new com.google.protobuf.LazyStringArrayList(attrnames_);
          bitField0_ |= 0x00000002;
         }
      }
      /**
       * <code>repeated string attrnames = 2;</code>
       */
      public java.util.List<java.lang.String>
          getAttrnamesList() {
        return java.util.Collections.unmodifiableList(attrnames_);
      }
      /**
       * <code>repeated string attrnames = 2;</code>
       */
      public int getAttrnamesCount() {
        return attrnames_.size();
      }
      /**
       * <code>repeated string attrnames = 2;</code>
       */
      public java.lang.String getAttrnames(int index) {
        return attrnames_.get(index);
      }
      /**
       * <code>repeated string attrnames = 2;</code>
       */
      public com.google.protobuf.ByteString
          getAttrnamesBytes(int index) {
        return attrnames_.getByteString(index);
      }
      /**
       * <code>repeated string attrnames = 2;</code>
       */
      public Builder setAttrnames(
          int index, java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureAttrnamesIsMutable();
        attrnames_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated string attrnames = 2;</code>
       */
      public Builder addAttrnames(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureAttrnamesIsMutable();
        attrnames_.add(value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated string attrnames = 2;</code>
       */
      public Builder addAllAttrnames(
          java.lang.Iterable<java.lang.String> values) {
        ensureAttrnamesIsMutable();
        super.addAll(values, attrnames_);
        onChanged();
        return this;
      }
      /**
       * <code>repeated string attrnames = 2;</code>
       */
      public Builder clearAttrnames() {
        attrnames_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000002);
        onChanged();
        return this;
      }
      /**
       * <code>repeated string attrnames = 2;</code>
       */
      public Builder addAttrnamesBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureAttrnamesIsMutable();
        attrnames_.add(value);
        onChanged();
        return this;
      }

      // repeated uint32 days = 3;
      private java.util.List<java.lang.Integer> days_ = java.util.Collections.emptyList();
      private void ensureDaysIsMutable() {
        if (!((bitField0_ & 0x00000004) == 0x00000004)) {
          days_ = new java.util.ArrayList<java.lang.Integer>(days_);
          bitField0_ |= 0x00000004;
         }
      }
      /**
       * <code>repeated uint32 days = 3;</code>
       *
       * <pre>
       *如2016年2月24日对应的值为20160224
       * </pre>
       */
      public java.util.List<java.lang.Integer>
          getDaysList() {
        return java.util.Collections.unmodifiableList(days_);
      }
      /**
       * <code>repeated uint32 days = 3;</code>
       *
       * <pre>
       *如2016年2月24日对应的值为20160224
       * </pre>
       */
      public int getDaysCount() {
        return days_.size();
      }
      /**
       * <code>repeated uint32 days = 3;</code>
       *
       * <pre>
       *如2016年2月24日对应的值为20160224
       * </pre>
       */
      public int getDays(int index) {
        return days_.get(index);
      }
      /**
       * <code>repeated uint32 days = 3;</code>
       *
       * <pre>
       *如2016年2月24日对应的值为20160224
       * </pre>
       */
      public Builder setDays(
          int index, int value) {
        ensureDaysIsMutable();
        days_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated uint32 days = 3;</code>
       *
       * <pre>
       *如2016年2月24日对应的值为20160224
       * </pre>
       */
      public Builder addDays(int value) {
        ensureDaysIsMutable();
        days_.add(value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated uint32 days = 3;</code>
       *
       * <pre>
       *如2016年2月24日对应的值为20160224
       * </pre>
       */
      public Builder addAllDays(
          java.lang.Iterable<? extends java.lang.Integer> values) {
        ensureDaysIsMutable();
        super.addAll(values, days_);
        onChanged();
        return this;
      }
      /**
       * <code>repeated uint32 days = 3;</code>
       *
       * <pre>
       *如2016年2月24日对应的值为20160224
       * </pre>
       */
      public Builder clearDays() {
        days_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000004);
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:msec.monitor.ReqServiceAttr)
    }

    static {
      defaultInstance = new ReqServiceAttr(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:msec.monitor.ReqServiceAttr)
  }

  public interface AttrDataOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional string attrname = 1;
    /**
     * <code>optional string attrname = 1;</code>
     */
    boolean hasAttrname();
    /**
     * <code>optional string attrname = 1;</code>
     */
    java.lang.String getAttrname();
    /**
     * <code>optional string attrname = 1;</code>
     */
    com.google.protobuf.ByteString
        getAttrnameBytes();

    // optional uint32 day = 2;
    /**
     * <code>optional uint32 day = 2;</code>
     */
    boolean hasDay();
    /**
     * <code>optional uint32 day = 2;</code>
     */
    int getDay();

    // repeated uint32 values = 3;
    /**
     * <code>repeated uint32 values = 3;</code>
     */
    java.util.List<java.lang.Integer> getValuesList();
    /**
     * <code>repeated uint32 values = 3;</code>
     */
    int getValuesCount();
    /**
     * <code>repeated uint32 values = 3;</code>
     */
    int getValues(int index);
  }
  /**
   * Protobuf type {@code msec.monitor.AttrData}
   */
  public static final class AttrData extends
      com.google.protobuf.GeneratedMessage
      implements AttrDataOrBuilder {
    // Use AttrData.newBuilder() to construct.
    private AttrData(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private AttrData(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final AttrData defaultInstance;
    public static AttrData getDefaultInstance() {
      return defaultInstance;
    }

    public AttrData getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private AttrData(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              bitField0_ |= 0x00000001;
              attrname_ = input.readBytes();
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              day_ = input.readUInt32();
              break;
            }
            case 24: {
              if (!((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
                values_ = new java.util.ArrayList<java.lang.Integer>();
                mutable_bitField0_ |= 0x00000004;
              }
              values_.add(input.readUInt32());
              break;
            }
            case 26: {
              int length = input.readRawVarint32();
              int limit = input.pushLimit(length);
              if (!((mutable_bitField0_ & 0x00000004) == 0x00000004) && input.getBytesUntilLimit() > 0) {
                values_ = new java.util.ArrayList<java.lang.Integer>();
                mutable_bitField0_ |= 0x00000004;
              }
              while (input.getBytesUntilLimit() > 0) {
                values_.add(input.readUInt32());
              }
              input.popLimit(limit);
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
          values_ = java.util.Collections.unmodifiableList(values_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return msec.monitor.Monitor.internal_static_msec_monitor_AttrData_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return msec.monitor.Monitor.internal_static_msec_monitor_AttrData_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              msec.monitor.Monitor.AttrData.class, msec.monitor.Monitor.AttrData.Builder.class);
    }

    public static com.google.protobuf.Parser<AttrData> PARSER =
        new com.google.protobuf.AbstractParser<AttrData>() {
      public AttrData parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new AttrData(input, extensionRegistry);
      }
    };

    @java.lang.Override
    public com.google.protobuf.Parser<AttrData> getParserForType() {
      return PARSER;
    }

    private int bitField0_;
    // optional string attrname = 1;
    public static final int ATTRNAME_FIELD_NUMBER = 1;
    private java.lang.Object attrname_;
    /**
     * <code>optional string attrname = 1;</code>
     */
    public boolean hasAttrname() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>optional string attrname = 1;</code>
     */
    public java.lang.String getAttrname() {
      java.lang.Object ref = attrname_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          attrname_ = s;
        }
        return s;
      }
    }
    /**
     * <code>optional string attrname = 1;</code>
     */
    public com.google.protobuf.ByteString
        getAttrnameBytes() {
      java.lang.Object ref = attrname_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        attrname_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    // optional uint32 day = 2;
    public static final int DAY_FIELD_NUMBER = 2;
    private int day_;
    /**
     * <code>optional uint32 day = 2;</code>
     */
    public boolean hasDay() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * <code>optional uint32 day = 2;</code>
     */
    public int getDay() {
      return day_;
    }

    // repeated uint32 values = 3;
    public static final int VALUES_FIELD_NUMBER = 3;
    private java.util.List<java.lang.Integer> values_;
    /**
     * <code>repeated uint32 values = 3;</code>
     */
    public java.util.List<java.lang.Integer>
        getValuesList() {
      return values_;
    }
    /**
     * <code>repeated uint32 values = 3;</code>
     */
    public int getValuesCount() {
      return values_.size();
    }
    /**
     * <code>repeated uint32 values = 3;</code>
     */
    public int getValues(int index) {
      return values_.get(index);
    }

    private void initFields() {
      attrname_ = "";
      day_ = 0;
      values_ = java.util.Collections.emptyList();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBytes(1, getAttrnameBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeUInt32(2, day_);
      }
      for (int i = 0; i < values_.size(); i++) {
        output.writeUInt32(3, values_.get(i));
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(1, getAttrnameBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(2, day_);
      }
      {
        int dataSize = 0;
        for (int i = 0; i < values_.size(); i++) {
          dataSize += com.google.protobuf.CodedOutputStream
            .computeUInt32SizeNoTag(values_.get(i));
        }
        size += dataSize;
        size += 1 * getValuesList().size();
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static msec.monitor.Monitor.AttrData parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static msec.monitor.Monitor.AttrData parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static msec.monitor.Monitor.AttrData parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static msec.monitor.Monitor.AttrData parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static msec.monitor.Monitor.AttrData parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static msec.monitor.Monitor.AttrData parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static msec.monitor.Monitor.AttrData parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static msec.monitor.Monitor.AttrData parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static msec.monitor.Monitor.AttrData parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static msec.monitor.Monitor.AttrData parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(msec.monitor.Monitor.AttrData prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code msec.monitor.AttrData}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder>
       implements msec.monitor.Monitor.AttrDataOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return msec.monitor.Monitor.internal_static_msec_monitor_AttrData_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return msec.monitor.Monitor.internal_static_msec_monitor_AttrData_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                msec.monitor.Monitor.AttrData.class, msec.monitor.Monitor.AttrData.Builder.class);
      }

      // Construct using msec.monitor.Monitor.AttrData.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        attrname_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        day_ = 0;
        bitField0_ = (bitField0_ & ~0x00000002);
        values_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return msec.monitor.Monitor.internal_static_msec_monitor_AttrData_descriptor;
      }

      public msec.monitor.Monitor.AttrData getDefaultInstanceForType() {
        return msec.monitor.Monitor.AttrData.getDefaultInstance();
      }

      public msec.monitor.Monitor.AttrData build() {
        msec.monitor.Monitor.AttrData result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public msec.monitor.Monitor.AttrData buildPartial() {
        msec.monitor.Monitor.AttrData result = new msec.monitor.Monitor.AttrData(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.attrname_ = attrname_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.day_ = day_;
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          values_ = java.util.Collections.unmodifiableList(values_);
          bitField0_ = (bitField0_ & ~0x00000004);
        }
        result.values_ = values_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof msec.monitor.Monitor.AttrData) {
          return mergeFrom((msec.monitor.Monitor.AttrData)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(msec.monitor.Monitor.AttrData other) {
        if (other == msec.monitor.Monitor.AttrData.getDefaultInstance()) return this;
        if (other.hasAttrname()) {
          bitField0_ |= 0x00000001;
          attrname_ = other.attrname_;
          onChanged();
        }
        if (other.hasDay()) {
          setDay(other.getDay());
        }
        if (!other.values_.isEmpty()) {
          if (values_.isEmpty()) {
            values_ = other.values_;
            bitField0_ = (bitField0_ & ~0x00000004);
          } else {
            ensureValuesIsMutable();
            values_.addAll(other.values_);
          }
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        msec.monitor.Monitor.AttrData parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (msec.monitor.Monitor.AttrData) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional string attrname = 1;
      private java.lang.Object attrname_ = "";
      /**
       * <code>optional string attrname = 1;</code>
       */
      public boolean hasAttrname() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>optional string attrname = 1;</code>
       */
      public java.lang.String getAttrname() {
        java.lang.Object ref = attrname_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          attrname_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>optional string attrname = 1;</code>
       */
      public com.google.protobuf.ByteString
          getAttrnameBytes() {
        java.lang.Object ref = attrname_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          attrname_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>optional string attrname = 1;</code>
       */
      public Builder setAttrname(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        attrname_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional string attrname = 1;</code>
       */
      public Builder clearAttrname() {
        bitField0_ = (bitField0_ & ~0x00000001);
        attrname_ = getDefaultInstance().getAttrname();
        onChanged();
        return this;
      }
      /**
       * <code>optional string attrname = 1;</code>
       */
      public Builder setAttrnameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        attrname_ = value;
        onChanged();
        return this;
      }

      // optional uint32 day = 2;
      private int day_ ;
      /**
       * <code>optional uint32 day = 2;</code>
       */
      public boolean hasDay() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>optional uint32 day = 2;</code>
       */
      public int getDay() {
        return day_;
      }
      /**
       * <code>optional uint32 day = 2;</code>
       */
      public Builder setDay(int value) {
        bitField0_ |= 0x00000002;
        day_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional uint32 day = 2;</code>
       */
      public Builder clearDay() {
        bitField0_ = (bitField0_ & ~0x00000002);
        day_ = 0;
        onChanged();
        return this;
      }

      // repeated uint32 values = 3;
      private java.util.List<java.lang.Integer> values_ = java.util.Collections.emptyList();
      private void ensureValuesIsMutable() {
        if (!((bitField0_ & 0x00000004) == 0x00000004)) {
          values_ = new java.util.ArrayList<java.lang.Integer>(values_);
          bitField0_ |= 0x00000004;
         }
      }
      /**
       * <code>repeated uint32 values = 3;</code>
       */
      public java.util.List<java.lang.Integer>
          getValuesList() {
        return java.util.Collections.unmodifiableList(values_);
      }
      /**
       * <code>repeated uint32 values = 3;</code>
       */
      public int getValuesCount() {
        return values_.size();
      }
      /**
       * <code>repeated uint32 values = 3;</code>
       */
      public int getValues(int index) {
        return values_.get(index);
      }
      /**
       * <code>repeated uint32 values = 3;</code>
       */
      public Builder setValues(
          int index, int value) {
        ensureValuesIsMutable();
        values_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated uint32 values = 3;</code>
       */
      public Builder addValues(int value) {
        ensureValuesIsMutable();
        values_.add(value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated uint32 values = 3;</code>
       */
      public Builder addAllValues(
          java.lang.Iterable<? extends java.lang.Integer> values) {
        ensureValuesIsMutable();
        super.addAll(values, values_);
        onChanged();
        return this;
      }
      /**
       * <code>repeated uint32 values = 3;</code>
       */
      public Builder clearValues() {
        values_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000004);
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:msec.monitor.AttrData)
    }

    static {
      defaultInstance = new AttrData(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:msec.monitor.AttrData)
  }

  public interface RespServiceAttrOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // repeated .msec.monitor.AttrData data = 1;
    /**
     * <code>repeated .msec.monitor.AttrData data = 1;</code>
     */
    java.util.List<msec.monitor.Monitor.AttrData>
        getDataList();
    /**
     * <code>repeated .msec.monitor.AttrData data = 1;</code>
     */
    msec.monitor.Monitor.AttrData getData(int index);
    /**
     * <code>repeated .msec.monitor.AttrData data = 1;</code>
     */
    int getDataCount();
    /**
     * <code>repeated .msec.monitor.AttrData data = 1;</code>
     */
    java.util.List<? extends msec.monitor.Monitor.AttrDataOrBuilder>
        getDataOrBuilderList();
    /**
     * <code>repeated .msec.monitor.AttrData data = 1;</code>
     */
    msec.monitor.Monitor.AttrDataOrBuilder getDataOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code msec.monitor.RespServiceAttr}
   */
  public static final class RespServiceAttr extends
      com.google.protobuf.GeneratedMessage
      implements RespServiceAttrOrBuilder {
    // Use RespServiceAttr.newBuilder() to construct.
    private RespServiceAttr(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private RespServiceAttr(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final RespServiceAttr defaultInstance;
    public static RespServiceAttr getDefaultInstance() {
      return defaultInstance;
    }

    public RespServiceAttr getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private RespServiceAttr(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
                data_ = new java.util.ArrayList<msec.monitor.Monitor.AttrData>();
                mutable_bitField0_ |= 0x00000001;
              }
              data_.add(input.readMessage(msec.monitor.Monitor.AttrData.PARSER, extensionRegistry));
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
          data_ = java.util.Collections.unmodifiableList(data_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return msec.monitor.Monitor.internal_static_msec_monitor_RespServiceAttr_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return msec.monitor.Monitor.internal_static_msec_monitor_RespServiceAttr_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              msec.monitor.Monitor.RespServiceAttr.class, msec.monitor.Monitor.RespServiceAttr.Builder.class);
    }

    public static com.google.protobuf.Parser<RespServiceAttr> PARSER =
        new com.google.protobuf.AbstractParser<RespServiceAttr>() {
      public RespServiceAttr parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new RespServiceAttr(input, extensionRegistry);
      }
    };

    @java.lang.Override
    public com.google.protobuf.Parser<RespServiceAttr> getParserForType() {
      return PARSER;
    }

    // repeated .msec.monitor.AttrData data = 1;
    public static final int DATA_FIELD_NUMBER = 1;
    private java.util.List<msec.monitor.Monitor.AttrData> data_;
    /**
     * <code>repeated .msec.monitor.AttrData data = 1;</code>
     */
    public java.util.List<msec.monitor.Monitor.AttrData> getDataList() {
      return data_;
    }
    /**
     * <code>repeated .msec.monitor.AttrData data = 1;</code>
     */
    public java.util.List<? extends msec.monitor.Monitor.AttrDataOrBuilder>
        getDataOrBuilderList() {
      return data_;
    }
    /**
     * <code>repeated .msec.monitor.AttrData data = 1;</code>
     */
    public int getDataCount() {
      return data_.size();
    }
    /**
     * <code>repeated .msec.monitor.AttrData data = 1;</code>
     */
    public msec.monitor.Monitor.AttrData getData(int index) {
      return data_.get(index);
    }
    /**
     * <code>repeated .msec.monitor.AttrData data = 1;</code>
     */
    public msec.monitor.Monitor.AttrDataOrBuilder getDataOrBuilder(
        int index) {
      return data_.get(index);
    }

    private void initFields() {
      data_ = java.util.Collections.emptyList();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      for (int i = 0; i < data_.size(); i++) {
        output.writeMessage(1, data_.get(i));
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      for (int i = 0; i < data_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, data_.get(i));
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static msec.monitor.Monitor.RespServiceAttr parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static msec.monitor.Monitor.RespServiceAttr parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static msec.monitor.Monitor.RespServiceAttr parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static msec.monitor.Monitor.RespServiceAttr parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static msec.monitor.Monitor.RespServiceAttr parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static msec.monitor.Monitor.RespServiceAttr parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static msec.monitor.Monitor.RespServiceAttr parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static msec.monitor.Monitor.RespServiceAttr parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static msec.monitor.Monitor.RespServiceAttr parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static msec.monitor.Monitor.RespServiceAttr parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(msec.monitor.Monitor.RespServiceAttr prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code msec.monitor.RespServiceAttr}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder>
       implements msec.monitor.Monitor.RespServiceAttrOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return msec.monitor.Monitor.internal_static_msec_monitor_RespServiceAttr_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return msec.monitor.Monitor.internal_static_msec_monitor_RespServiceAttr_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                msec.monitor.Monitor.RespServiceAttr.class, msec.monitor.Monitor.RespServiceAttr.Builder.class);
      }

      // Construct using msec.monitor.Monitor.RespServiceAttr.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getDataFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        if (dataBuilder_ == null) {
          data_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
        } else {
          dataBuilder_.clear();
        }
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return msec.monitor.Monitor.internal_static_msec_monitor_RespServiceAttr_descriptor;
      }

      public msec.monitor.Monitor.RespServiceAttr getDefaultInstanceForType() {
        return msec.monitor.Monitor.RespServiceAttr.getDefaultInstance();
      }

      public msec.monitor.Monitor.RespServiceAttr build() {
        msec.monitor.Monitor.RespServiceAttr result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public msec.monitor.Monitor.RespServiceAttr buildPartial() {
        msec.monitor.Monitor.RespServiceAttr result = new msec.monitor.Monitor.RespServiceAttr(this);
        int from_bitField0_ = bitField0_;
        if (dataBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001)) {
            data_ = java.util.Collections.unmodifiableList(data_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.data_ = data_;
        } else {
          result.data_ = dataBuilder_.build();
        }
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof msec.monitor.Monitor.RespServiceAttr) {
          return mergeFrom((msec.monitor.Monitor.RespServiceAttr)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(msec.monitor.Monitor.RespServiceAttr other) {
        if (other == msec.monitor.Monitor.RespServiceAttr.getDefaultInstance()) return this;
        if (dataBuilder_ == null) {
          if (!other.data_.isEmpty()) {
            if (data_.isEmpty()) {
              data_ = other.data_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureDataIsMutable();
              data_.addAll(other.data_);
            }
            onChanged();
          }
        } else {
          if (!other.data_.isEmpty()) {
            if (dataBuilder_.isEmpty()) {
              dataBuilder_.dispose();
              dataBuilder_ = null;
              data_ = other.data_;
              bitField0_ = (bitField0_ & ~0x00000001);
              dataBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getDataFieldBuilder() : null;
            } else {
              dataBuilder_.addAllMessages(other.data_);
            }
          }
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        msec.monitor.Monitor.RespServiceAttr parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (msec.monitor.Monitor.RespServiceAttr) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // repeated .msec.monitor.AttrData data = 1;
      private java.util.List<msec.monitor.Monitor.AttrData> data_ =
        java.util.Collections.emptyList();
      private void ensureDataIsMutable() {
        if (!((bitField0_ & 0x00000001) == 0x00000001)) {
          data_ = new java.util.ArrayList<msec.monitor.Monitor.AttrData>(data_);
          bitField0_ |= 0x00000001;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilder<
          msec.monitor.Monitor.AttrData, msec.monitor.Monitor.AttrData.Builder, msec.monitor.Monitor.AttrDataOrBuilder> dataBuilder_;

      /**
       * <code>repeated .msec.monitor.AttrData data = 1;</code>
       */
      public java.util.List<msec.monitor.Monitor.AttrData> getDataList() {
        if (dataBuilder_ == null) {
          return java.util.Collections.unmodifiableList(data_);
        } else {
          return dataBuilder_.getMessageList();
        }
      }
      /**
       * <code>repeated .msec.monitor.AttrData data = 1;</code>
       */
      public int getDataCount() {
        if (dataBuilder_ == null) {
          return data_.size();
        } else {
          return dataBuilder_.getCount();
        }
      }
      /**
       * <code>repeated .msec.monitor.AttrData data = 1;</code>
       */
      public msec.monitor.Monitor.AttrData getData(int index) {
        if (dataBuilder_ == null) {
          return data_.get(index);
        } else {
          return dataBuilder_.getMessage(index);
        }
      }
      /**
       * <code>repeated .msec.monitor.AttrData data = 1;</code>
       */
      public Builder setData(
          int index, msec.monitor.Monitor.AttrData value) {
        if (dataBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureDataIsMutable();
          data_.set(index, value);
          onChanged();
        } else {
          dataBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.AttrData data = 1;</code>
       */
      public Builder setData(
          int index, msec.monitor.Monitor.AttrData.Builder builderForValue) {
        if (dataBuilder_ == null) {
          ensureDataIsMutable();
          data_.set(index, builderForValue.build());
          onChanged();
        } else {
          dataBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.AttrData data = 1;</code>
       */
      public Builder addData(msec.monitor.Monitor.AttrData value) {
        if (dataBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureDataIsMutable();
          data_.add(value);
          onChanged();
        } else {
          dataBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.AttrData data = 1;</code>
       */
      public Builder addData(
          int index, msec.monitor.Monitor.AttrData value) {
        if (dataBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureDataIsMutable();
          data_.add(index, value);
          onChanged();
        } else {
          dataBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.AttrData data = 1;</code>
       */
      public Builder addData(
          msec.monitor.Monitor.AttrData.Builder builderForValue) {
        if (dataBuilder_ == null) {
          ensureDataIsMutable();
          data_.add(builderForValue.build());
          onChanged();
        } else {
          dataBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.AttrData data = 1;</code>
       */
      public Builder addData(
          int index, msec.monitor.Monitor.AttrData.Builder builderForValue) {
        if (dataBuilder_ == null) {
          ensureDataIsMutable();
          data_.add(index, builderForValue.build());
          onChanged();
        } else {
          dataBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.AttrData data = 1;</code>
       */
      public Builder addAllData(
          java.lang.Iterable<? extends msec.monitor.Monitor.AttrData> values) {
        if (dataBuilder_ == null) {
          ensureDataIsMutable();
          super.addAll(values, data_);
          onChanged();
        } else {
          dataBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.AttrData data = 1;</code>
       */
      public Builder clearData() {
        if (dataBuilder_ == null) {
          data_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          dataBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.AttrData data = 1;</code>
       */
      public Builder removeData(int index) {
        if (dataBuilder_ == null) {
          ensureDataIsMutable();
          data_.remove(index);
          onChanged();
        } else {
          dataBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.AttrData data = 1;</code>
       */
      public msec.monitor.Monitor.AttrData.Builder getDataBuilder(
          int index) {
        return getDataFieldBuilder().getBuilder(index);
      }
      /**
       * <code>repeated .msec.monitor.AttrData data = 1;</code>
       */
      public msec.monitor.Monitor.AttrDataOrBuilder getDataOrBuilder(
          int index) {
        if (dataBuilder_ == null) {
          return data_.get(index);  } else {
          return dataBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <code>repeated .msec.monitor.AttrData data = 1;</code>
       */
      public java.util.List<? extends msec.monitor.Monitor.AttrDataOrBuilder>
           getDataOrBuilderList() {
        if (dataBuilder_ != null) {
          return dataBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(data_);
        }
      }
      /**
       * <code>repeated .msec.monitor.AttrData data = 1;</code>
       */
      public msec.monitor.Monitor.AttrData.Builder addDataBuilder() {
        return getDataFieldBuilder().addBuilder(
            msec.monitor.Monitor.AttrData.getDefaultInstance());
      }
      /**
       * <code>repeated .msec.monitor.AttrData data = 1;</code>
       */
      public msec.monitor.Monitor.AttrData.Builder addDataBuilder(
          int index) {
        return getDataFieldBuilder().addBuilder(
            index, msec.monitor.Monitor.AttrData.getDefaultInstance());
      }
      /**
       * <code>repeated .msec.monitor.AttrData data = 1;</code>
       */
      public java.util.List<msec.monitor.Monitor.AttrData.Builder>
           getDataBuilderList() {
        return getDataFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          msec.monitor.Monitor.AttrData, msec.monitor.Monitor.AttrData.Builder, msec.monitor.Monitor.AttrDataOrBuilder>
          getDataFieldBuilder() {
        if (dataBuilder_ == null) {
          dataBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              msec.monitor.Monitor.AttrData, msec.monitor.Monitor.AttrData.Builder, msec.monitor.Monitor.AttrDataOrBuilder>(
                  data_,
                  ((bitField0_ & 0x00000001) == 0x00000001),
                  getParentForChildren(),
                  isClean());
          data_ = null;
        }
        return dataBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:msec.monitor.RespServiceAttr)
    }

    static {
      defaultInstance = new RespServiceAttr(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:msec.monitor.RespServiceAttr)
  }

  public interface ReqAttrIPOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional string servicename = 1;
    /**
     * <code>optional string servicename = 1;</code>
     */
    boolean hasServicename();
    /**
     * <code>optional string servicename = 1;</code>
     */
    java.lang.String getServicename();
    /**
     * <code>optional string servicename = 1;</code>
     */
    com.google.protobuf.ByteString
        getServicenameBytes();

    // optional string attrname = 2;
    /**
     * <code>optional string attrname = 2;</code>
     */
    boolean hasAttrname();
    /**
     * <code>optional string attrname = 2;</code>
     */
    java.lang.String getAttrname();
    /**
     * <code>optional string attrname = 2;</code>
     */
    com.google.protobuf.ByteString
        getAttrnameBytes();

    // repeated string ips = 3;
    /**
     * <code>repeated string ips = 3;</code>
     */
    java.util.List<java.lang.String>
    getIpsList();
    /**
     * <code>repeated string ips = 3;</code>
     */
    int getIpsCount();
    /**
     * <code>repeated string ips = 3;</code>
     */
    java.lang.String getIps(int index);
    /**
     * <code>repeated string ips = 3;</code>
     */
    com.google.protobuf.ByteString
        getIpsBytes(int index);

    // repeated uint32 days = 4;
    /**
     * <code>repeated uint32 days = 4;</code>
     */
    java.util.List<java.lang.Integer> getDaysList();
    /**
     * <code>repeated uint32 days = 4;</code>
     */
    int getDaysCount();
    /**
     * <code>repeated uint32 days = 4;</code>
     */
    int getDays(int index);
  }
  /**
   * Protobuf type {@code msec.monitor.ReqAttrIP}
   *
   * <pre>
   *批量获取单个属性的多天多IP数据
   * </pre>
   */
  public static final class ReqAttrIP extends
      com.google.protobuf.GeneratedMessage
      implements ReqAttrIPOrBuilder {
    // Use ReqAttrIP.newBuilder() to construct.
    private ReqAttrIP(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private ReqAttrIP(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final ReqAttrIP defaultInstance;
    public static ReqAttrIP getDefaultInstance() {
      return defaultInstance;
    }

    public ReqAttrIP getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private ReqAttrIP(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              bitField0_ |= 0x00000001;
              servicename_ = input.readBytes();
              break;
            }
            case 18: {
              bitField0_ |= 0x00000002;
              attrname_ = input.readBytes();
              break;
            }
            case 26: {
              if (!((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
                ips_ = new com.google.protobuf.LazyStringArrayList();
                mutable_bitField0_ |= 0x00000004;
              }
              ips_.add(input.readBytes());
              break;
            }
            case 32: {
              if (!((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
                days_ = new java.util.ArrayList<java.lang.Integer>();
                mutable_bitField0_ |= 0x00000008;
              }
              days_.add(input.readUInt32());
              break;
            }
            case 34: {
              int length = input.readRawVarint32();
              int limit = input.pushLimit(length);
              if (!((mutable_bitField0_ & 0x00000008) == 0x00000008) && input.getBytesUntilLimit() > 0) {
                days_ = new java.util.ArrayList<java.lang.Integer>();
                mutable_bitField0_ |= 0x00000008;
              }
              while (input.getBytesUntilLimit() > 0) {
                days_.add(input.readUInt32());
              }
              input.popLimit(limit);
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
          ips_ = new com.google.protobuf.UnmodifiableLazyStringList(ips_);
        }
        if (((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
          days_ = java.util.Collections.unmodifiableList(days_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return msec.monitor.Monitor.internal_static_msec_monitor_ReqAttrIP_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return msec.monitor.Monitor.internal_static_msec_monitor_ReqAttrIP_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              msec.monitor.Monitor.ReqAttrIP.class, msec.monitor.Monitor.ReqAttrIP.Builder.class);
    }

    public static com.google.protobuf.Parser<ReqAttrIP> PARSER =
        new com.google.protobuf.AbstractParser<ReqAttrIP>() {
      public ReqAttrIP parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new ReqAttrIP(input, extensionRegistry);
      }
    };

    @java.lang.Override
    public com.google.protobuf.Parser<ReqAttrIP> getParserForType() {
      return PARSER;
    }

    private int bitField0_;
    // optional string servicename = 1;
    public static final int SERVICENAME_FIELD_NUMBER = 1;
    private java.lang.Object servicename_;
    /**
     * <code>optional string servicename = 1;</code>
     */
    public boolean hasServicename() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>optional string servicename = 1;</code>
     */
    public java.lang.String getServicename() {
      java.lang.Object ref = servicename_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          servicename_ = s;
        }
        return s;
      }
    }
    /**
     * <code>optional string servicename = 1;</code>
     */
    public com.google.protobuf.ByteString
        getServicenameBytes() {
      java.lang.Object ref = servicename_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        servicename_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    // optional string attrname = 2;
    public static final int ATTRNAME_FIELD_NUMBER = 2;
    private java.lang.Object attrname_;
    /**
     * <code>optional string attrname = 2;</code>
     */
    public boolean hasAttrname() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * <code>optional string attrname = 2;</code>
     */
    public java.lang.String getAttrname() {
      java.lang.Object ref = attrname_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          attrname_ = s;
        }
        return s;
      }
    }
    /**
     * <code>optional string attrname = 2;</code>
     */
    public com.google.protobuf.ByteString
        getAttrnameBytes() {
      java.lang.Object ref = attrname_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        attrname_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    // repeated string ips = 3;
    public static final int IPS_FIELD_NUMBER = 3;
    private com.google.protobuf.LazyStringList ips_;
    /**
     * <code>repeated string ips = 3;</code>
     */
    public java.util.List<java.lang.String>
        getIpsList() {
      return ips_;
    }
    /**
     * <code>repeated string ips = 3;</code>
     */
    public int getIpsCount() {
      return ips_.size();
    }
    /**
     * <code>repeated string ips = 3;</code>
     */
    public java.lang.String getIps(int index) {
      return ips_.get(index);
    }
    /**
     * <code>repeated string ips = 3;</code>
     */
    public com.google.protobuf.ByteString
        getIpsBytes(int index) {
      return ips_.getByteString(index);
    }

    // repeated uint32 days = 4;
    public static final int DAYS_FIELD_NUMBER = 4;
    private java.util.List<java.lang.Integer> days_;
    /**
     * <code>repeated uint32 days = 4;</code>
     */
    public java.util.List<java.lang.Integer>
        getDaysList() {
      return days_;
    }
    /**
     * <code>repeated uint32 days = 4;</code>
     */
    public int getDaysCount() {
      return days_.size();
    }
    /**
     * <code>repeated uint32 days = 4;</code>
     */
    public int getDays(int index) {
      return days_.get(index);
    }

    private void initFields() {
      servicename_ = "";
      attrname_ = "";
      ips_ = com.google.protobuf.LazyStringArrayList.EMPTY;
      days_ = java.util.Collections.emptyList();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBytes(1, getServicenameBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeBytes(2, getAttrnameBytes());
      }
      for (int i = 0; i < ips_.size(); i++) {
        output.writeBytes(3, ips_.getByteString(i));
      }
      for (int i = 0; i < days_.size(); i++) {
        output.writeUInt32(4, days_.get(i));
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(1, getServicenameBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(2, getAttrnameBytes());
      }
      {
        int dataSize = 0;
        for (int i = 0; i < ips_.size(); i++) {
          dataSize += com.google.protobuf.CodedOutputStream
            .computeBytesSizeNoTag(ips_.getByteString(i));
        }
        size += dataSize;
        size += 1 * getIpsList().size();
      }
      {
        int dataSize = 0;
        for (int i = 0; i < days_.size(); i++) {
          dataSize += com.google.protobuf.CodedOutputStream
            .computeUInt32SizeNoTag(days_.get(i));
        }
        size += dataSize;
        size += 1 * getDaysList().size();
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static msec.monitor.Monitor.ReqAttrIP parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static msec.monitor.Monitor.ReqAttrIP parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static msec.monitor.Monitor.ReqAttrIP parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static msec.monitor.Monitor.ReqAttrIP parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static msec.monitor.Monitor.ReqAttrIP parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static msec.monitor.Monitor.ReqAttrIP parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static msec.monitor.Monitor.ReqAttrIP parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static msec.monitor.Monitor.ReqAttrIP parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static msec.monitor.Monitor.ReqAttrIP parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static msec.monitor.Monitor.ReqAttrIP parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(msec.monitor.Monitor.ReqAttrIP prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code msec.monitor.ReqAttrIP}
     *
     * <pre>
     *批量获取单个属性的多天多IP数据
     * </pre>
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder>
       implements msec.monitor.Monitor.ReqAttrIPOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return msec.monitor.Monitor.internal_static_msec_monitor_ReqAttrIP_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return msec.monitor.Monitor.internal_static_msec_monitor_ReqAttrIP_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                msec.monitor.Monitor.ReqAttrIP.class, msec.monitor.Monitor.ReqAttrIP.Builder.class);
      }

      // Construct using msec.monitor.Monitor.ReqAttrIP.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        servicename_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        attrname_ = "";
        bitField0_ = (bitField0_ & ~0x00000002);
        ips_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000004);
        days_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000008);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return msec.monitor.Monitor.internal_static_msec_monitor_ReqAttrIP_descriptor;
      }

      public msec.monitor.Monitor.ReqAttrIP getDefaultInstanceForType() {
        return msec.monitor.Monitor.ReqAttrIP.getDefaultInstance();
      }

      public msec.monitor.Monitor.ReqAttrIP build() {
        msec.monitor.Monitor.ReqAttrIP result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public msec.monitor.Monitor.ReqAttrIP buildPartial() {
        msec.monitor.Monitor.ReqAttrIP result = new msec.monitor.Monitor.ReqAttrIP(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.servicename_ = servicename_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.attrname_ = attrname_;
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          ips_ = new com.google.protobuf.UnmodifiableLazyStringList(
              ips_);
          bitField0_ = (bitField0_ & ~0x00000004);
        }
        result.ips_ = ips_;
        if (((bitField0_ & 0x00000008) == 0x00000008)) {
          days_ = java.util.Collections.unmodifiableList(days_);
          bitField0_ = (bitField0_ & ~0x00000008);
        }
        result.days_ = days_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof msec.monitor.Monitor.ReqAttrIP) {
          return mergeFrom((msec.monitor.Monitor.ReqAttrIP)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(msec.monitor.Monitor.ReqAttrIP other) {
        if (other == msec.monitor.Monitor.ReqAttrIP.getDefaultInstance()) return this;
        if (other.hasServicename()) {
          bitField0_ |= 0x00000001;
          servicename_ = other.servicename_;
          onChanged();
        }
        if (other.hasAttrname()) {
          bitField0_ |= 0x00000002;
          attrname_ = other.attrname_;
          onChanged();
        }
        if (!other.ips_.isEmpty()) {
          if (ips_.isEmpty()) {
            ips_ = other.ips_;
            bitField0_ = (bitField0_ & ~0x00000004);
          } else {
            ensureIpsIsMutable();
            ips_.addAll(other.ips_);
          }
          onChanged();
        }
        if (!other.days_.isEmpty()) {
          if (days_.isEmpty()) {
            days_ = other.days_;
            bitField0_ = (bitField0_ & ~0x00000008);
          } else {
            ensureDaysIsMutable();
            days_.addAll(other.days_);
          }
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        msec.monitor.Monitor.ReqAttrIP parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (msec.monitor.Monitor.ReqAttrIP) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional string servicename = 1;
      private java.lang.Object servicename_ = "";
      /**
       * <code>optional string servicename = 1;</code>
       */
      public boolean hasServicename() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>optional string servicename = 1;</code>
       */
      public java.lang.String getServicename() {
        java.lang.Object ref = servicename_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          servicename_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>optional string servicename = 1;</code>
       */
      public com.google.protobuf.ByteString
          getServicenameBytes() {
        java.lang.Object ref = servicename_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          servicename_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>optional string servicename = 1;</code>
       */
      public Builder setServicename(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        servicename_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional string servicename = 1;</code>
       */
      public Builder clearServicename() {
        bitField0_ = (bitField0_ & ~0x00000001);
        servicename_ = getDefaultInstance().getServicename();
        onChanged();
        return this;
      }
      /**
       * <code>optional string servicename = 1;</code>
       */
      public Builder setServicenameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        servicename_ = value;
        onChanged();
        return this;
      }

      // optional string attrname = 2;
      private java.lang.Object attrname_ = "";
      /**
       * <code>optional string attrname = 2;</code>
       */
      public boolean hasAttrname() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>optional string attrname = 2;</code>
       */
      public java.lang.String getAttrname() {
        java.lang.Object ref = attrname_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          attrname_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>optional string attrname = 2;</code>
       */
      public com.google.protobuf.ByteString
          getAttrnameBytes() {
        java.lang.Object ref = attrname_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          attrname_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>optional string attrname = 2;</code>
       */
      public Builder setAttrname(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        attrname_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional string attrname = 2;</code>
       */
      public Builder clearAttrname() {
        bitField0_ = (bitField0_ & ~0x00000002);
        attrname_ = getDefaultInstance().getAttrname();
        onChanged();
        return this;
      }
      /**
       * <code>optional string attrname = 2;</code>
       */
      public Builder setAttrnameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        attrname_ = value;
        onChanged();
        return this;
      }

      // repeated string ips = 3;
      private com.google.protobuf.LazyStringList ips_ = com.google.protobuf.LazyStringArrayList.EMPTY;
      private void ensureIpsIsMutable() {
        if (!((bitField0_ & 0x00000004) == 0x00000004)) {
          ips_ = new com.google.protobuf.LazyStringArrayList(ips_);
          bitField0_ |= 0x00000004;
         }
      }
      /**
       * <code>repeated string ips = 3;</code>
       */
      public java.util.List<java.lang.String>
          getIpsList() {
        return java.util.Collections.unmodifiableList(ips_);
      }
      /**
       * <code>repeated string ips = 3;</code>
       */
      public int getIpsCount() {
        return ips_.size();
      }
      /**
       * <code>repeated string ips = 3;</code>
       */
      public java.lang.String getIps(int index) {
        return ips_.get(index);
      }
      /**
       * <code>repeated string ips = 3;</code>
       */
      public com.google.protobuf.ByteString
          getIpsBytes(int index) {
        return ips_.getByteString(index);
      }
      /**
       * <code>repeated string ips = 3;</code>
       */
      public Builder setIps(
          int index, java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureIpsIsMutable();
        ips_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated string ips = 3;</code>
       */
      public Builder addIps(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureIpsIsMutable();
        ips_.add(value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated string ips = 3;</code>
       */
      public Builder addAllIps(
          java.lang.Iterable<java.lang.String> values) {
        ensureIpsIsMutable();
        super.addAll(values, ips_);
        onChanged();
        return this;
      }
      /**
       * <code>repeated string ips = 3;</code>
       */
      public Builder clearIps() {
        ips_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000004);
        onChanged();
        return this;
      }
      /**
       * <code>repeated string ips = 3;</code>
       */
      public Builder addIpsBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureIpsIsMutable();
        ips_.add(value);
        onChanged();
        return this;
      }

      // repeated uint32 days = 4;
      private java.util.List<java.lang.Integer> days_ = java.util.Collections.emptyList();
      private void ensureDaysIsMutable() {
        if (!((bitField0_ & 0x00000008) == 0x00000008)) {
          days_ = new java.util.ArrayList<java.lang.Integer>(days_);
          bitField0_ |= 0x00000008;
         }
      }
      /**
       * <code>repeated uint32 days = 4;</code>
       */
      public java.util.List<java.lang.Integer>
          getDaysList() {
        return java.util.Collections.unmodifiableList(days_);
      }
      /**
       * <code>repeated uint32 days = 4;</code>
       */
      public int getDaysCount() {
        return days_.size();
      }
      /**
       * <code>repeated uint32 days = 4;</code>
       */
      public int getDays(int index) {
        return days_.get(index);
      }
      /**
       * <code>repeated uint32 days = 4;</code>
       */
      public Builder setDays(
          int index, int value) {
        ensureDaysIsMutable();
        days_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated uint32 days = 4;</code>
       */
      public Builder addDays(int value) {
        ensureDaysIsMutable();
        days_.add(value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated uint32 days = 4;</code>
       */
      public Builder addAllDays(
          java.lang.Iterable<? extends java.lang.Integer> values) {
        ensureDaysIsMutable();
        super.addAll(values, days_);
        onChanged();
        return this;
      }
      /**
       * <code>repeated uint32 days = 4;</code>
       */
      public Builder clearDays() {
        days_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000008);
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:msec.monitor.ReqAttrIP)
    }

    static {
      defaultInstance = new ReqAttrIP(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:msec.monitor.ReqAttrIP)
  }

  public interface AttrIPDataOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional string ip = 1;
    /**
     * <code>optional string ip = 1;</code>
     */
    boolean hasIp();
    /**
     * <code>optional string ip = 1;</code>
     */
    java.lang.String getIp();
    /**
     * <code>optional string ip = 1;</code>
     */
    com.google.protobuf.ByteString
        getIpBytes();

    // optional uint32 day = 2;
    /**
     * <code>optional uint32 day = 2;</code>
     */
    boolean hasDay();
    /**
     * <code>optional uint32 day = 2;</code>
     */
    int getDay();

    // repeated uint32 values = 3;
    /**
     * <code>repeated uint32 values = 3;</code>
     */
    java.util.List<java.lang.Integer> getValuesList();
    /**
     * <code>repeated uint32 values = 3;</code>
     */
    int getValuesCount();
    /**
     * <code>repeated uint32 values = 3;</code>
     */
    int getValues(int index);
  }
  /**
   * Protobuf type {@code msec.monitor.AttrIPData}
   */
  public static final class AttrIPData extends
      com.google.protobuf.GeneratedMessage
      implements AttrIPDataOrBuilder {
    // Use AttrIPData.newBuilder() to construct.
    private AttrIPData(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private AttrIPData(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final AttrIPData defaultInstance;
    public static AttrIPData getDefaultInstance() {
      return defaultInstance;
    }

    public AttrIPData getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private AttrIPData(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              bitField0_ |= 0x00000001;
              ip_ = input.readBytes();
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              day_ = input.readUInt32();
              break;
            }
            case 24: {
              if (!((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
                values_ = new java.util.ArrayList<java.lang.Integer>();
                mutable_bitField0_ |= 0x00000004;
              }
              values_.add(input.readUInt32());
              break;
            }
            case 26: {
              int length = input.readRawVarint32();
              int limit = input.pushLimit(length);
              if (!((mutable_bitField0_ & 0x00000004) == 0x00000004) && input.getBytesUntilLimit() > 0) {
                values_ = new java.util.ArrayList<java.lang.Integer>();
                mutable_bitField0_ |= 0x00000004;
              }
              while (input.getBytesUntilLimit() > 0) {
                values_.add(input.readUInt32());
              }
              input.popLimit(limit);
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
          values_ = java.util.Collections.unmodifiableList(values_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return msec.monitor.Monitor.internal_static_msec_monitor_AttrIPData_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return msec.monitor.Monitor.internal_static_msec_monitor_AttrIPData_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              msec.monitor.Monitor.AttrIPData.class, msec.monitor.Monitor.AttrIPData.Builder.class);
    }

    public static com.google.protobuf.Parser<AttrIPData> PARSER =
        new com.google.protobuf.AbstractParser<AttrIPData>() {
      public AttrIPData parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new AttrIPData(input, extensionRegistry);
      }
    };

    @java.lang.Override
    public com.google.protobuf.Parser<AttrIPData> getParserForType() {
      return PARSER;
    }

    private int bitField0_;
    // optional string ip = 1;
    public static final int IP_FIELD_NUMBER = 1;
    private java.lang.Object ip_;
    /**
     * <code>optional string ip = 1;</code>
     */
    public boolean hasIp() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>optional string ip = 1;</code>
     */
    public java.lang.String getIp() {
      java.lang.Object ref = ip_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          ip_ = s;
        }
        return s;
      }
    }
    /**
     * <code>optional string ip = 1;</code>
     */
    public com.google.protobuf.ByteString
        getIpBytes() {
      java.lang.Object ref = ip_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        ip_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    // optional uint32 day = 2;
    public static final int DAY_FIELD_NUMBER = 2;
    private int day_;
    /**
     * <code>optional uint32 day = 2;</code>
     */
    public boolean hasDay() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * <code>optional uint32 day = 2;</code>
     */
    public int getDay() {
      return day_;
    }

    // repeated uint32 values = 3;
    public static final int VALUES_FIELD_NUMBER = 3;
    private java.util.List<java.lang.Integer> values_;
    /**
     * <code>repeated uint32 values = 3;</code>
     */
    public java.util.List<java.lang.Integer>
        getValuesList() {
      return values_;
    }
    /**
     * <code>repeated uint32 values = 3;</code>
     */
    public int getValuesCount() {
      return values_.size();
    }
    /**
     * <code>repeated uint32 values = 3;</code>
     */
    public int getValues(int index) {
      return values_.get(index);
    }

    private void initFields() {
      ip_ = "";
      day_ = 0;
      values_ = java.util.Collections.emptyList();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBytes(1, getIpBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeUInt32(2, day_);
      }
      for (int i = 0; i < values_.size(); i++) {
        output.writeUInt32(3, values_.get(i));
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(1, getIpBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(2, day_);
      }
      {
        int dataSize = 0;
        for (int i = 0; i < values_.size(); i++) {
          dataSize += com.google.protobuf.CodedOutputStream
            .computeUInt32SizeNoTag(values_.get(i));
        }
        size += dataSize;
        size += 1 * getValuesList().size();
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static msec.monitor.Monitor.AttrIPData parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static msec.monitor.Monitor.AttrIPData parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static msec.monitor.Monitor.AttrIPData parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static msec.monitor.Monitor.AttrIPData parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static msec.monitor.Monitor.AttrIPData parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static msec.monitor.Monitor.AttrIPData parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static msec.monitor.Monitor.AttrIPData parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static msec.monitor.Monitor.AttrIPData parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static msec.monitor.Monitor.AttrIPData parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static msec.monitor.Monitor.AttrIPData parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(msec.monitor.Monitor.AttrIPData prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code msec.monitor.AttrIPData}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder>
       implements msec.monitor.Monitor.AttrIPDataOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return msec.monitor.Monitor.internal_static_msec_monitor_AttrIPData_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return msec.monitor.Monitor.internal_static_msec_monitor_AttrIPData_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                msec.monitor.Monitor.AttrIPData.class, msec.monitor.Monitor.AttrIPData.Builder.class);
      }

      // Construct using msec.monitor.Monitor.AttrIPData.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        ip_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        day_ = 0;
        bitField0_ = (bitField0_ & ~0x00000002);
        values_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return msec.monitor.Monitor.internal_static_msec_monitor_AttrIPData_descriptor;
      }

      public msec.monitor.Monitor.AttrIPData getDefaultInstanceForType() {
        return msec.monitor.Monitor.AttrIPData.getDefaultInstance();
      }

      public msec.monitor.Monitor.AttrIPData build() {
        msec.monitor.Monitor.AttrIPData result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public msec.monitor.Monitor.AttrIPData buildPartial() {
        msec.monitor.Monitor.AttrIPData result = new msec.monitor.Monitor.AttrIPData(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.ip_ = ip_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.day_ = day_;
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          values_ = java.util.Collections.unmodifiableList(values_);
          bitField0_ = (bitField0_ & ~0x00000004);
        }
        result.values_ = values_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof msec.monitor.Monitor.AttrIPData) {
          return mergeFrom((msec.monitor.Monitor.AttrIPData)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(msec.monitor.Monitor.AttrIPData other) {
        if (other == msec.monitor.Monitor.AttrIPData.getDefaultInstance()) return this;
        if (other.hasIp()) {
          bitField0_ |= 0x00000001;
          ip_ = other.ip_;
          onChanged();
        }
        if (other.hasDay()) {
          setDay(other.getDay());
        }
        if (!other.values_.isEmpty()) {
          if (values_.isEmpty()) {
            values_ = other.values_;
            bitField0_ = (bitField0_ & ~0x00000004);
          } else {
            ensureValuesIsMutable();
            values_.addAll(other.values_);
          }
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        msec.monitor.Monitor.AttrIPData parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (msec.monitor.Monitor.AttrIPData) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional string ip = 1;
      private java.lang.Object ip_ = "";
      /**
       * <code>optional string ip = 1;</code>
       */
      public boolean hasIp() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>optional string ip = 1;</code>
       */
      public java.lang.String getIp() {
        java.lang.Object ref = ip_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          ip_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>optional string ip = 1;</code>
       */
      public com.google.protobuf.ByteString
          getIpBytes() {
        java.lang.Object ref = ip_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          ip_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>optional string ip = 1;</code>
       */
      public Builder setIp(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        ip_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional string ip = 1;</code>
       */
      public Builder clearIp() {
        bitField0_ = (bitField0_ & ~0x00000001);
        ip_ = getDefaultInstance().getIp();
        onChanged();
        return this;
      }
      /**
       * <code>optional string ip = 1;</code>
       */
      public Builder setIpBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        ip_ = value;
        onChanged();
        return this;
      }

      // optional uint32 day = 2;
      private int day_ ;
      /**
       * <code>optional uint32 day = 2;</code>
       */
      public boolean hasDay() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>optional uint32 day = 2;</code>
       */
      public int getDay() {
        return day_;
      }
      /**
       * <code>optional uint32 day = 2;</code>
       */
      public Builder setDay(int value) {
        bitField0_ |= 0x00000002;
        day_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional uint32 day = 2;</code>
       */
      public Builder clearDay() {
        bitField0_ = (bitField0_ & ~0x00000002);
        day_ = 0;
        onChanged();
        return this;
      }

      // repeated uint32 values = 3;
      private java.util.List<java.lang.Integer> values_ = java.util.Collections.emptyList();
      private void ensureValuesIsMutable() {
        if (!((bitField0_ & 0x00000004) == 0x00000004)) {
          values_ = new java.util.ArrayList<java.lang.Integer>(values_);
          bitField0_ |= 0x00000004;
         }
      }
      /**
       * <code>repeated uint32 values = 3;</code>
       */
      public java.util.List<java.lang.Integer>
          getValuesList() {
        return java.util.Collections.unmodifiableList(values_);
      }
      /**
       * <code>repeated uint32 values = 3;</code>
       */
      public int getValuesCount() {
        return values_.size();
      }
      /**
       * <code>repeated uint32 values = 3;</code>
       */
      public int getValues(int index) {
        return values_.get(index);
      }
      /**
       * <code>repeated uint32 values = 3;</code>
       */
      public Builder setValues(
          int index, int value) {
        ensureValuesIsMutable();
        values_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated uint32 values = 3;</code>
       */
      public Builder addValues(int value) {
        ensureValuesIsMutable();
        values_.add(value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated uint32 values = 3;</code>
       */
      public Builder addAllValues(
          java.lang.Iterable<? extends java.lang.Integer> values) {
        ensureValuesIsMutable();
        super.addAll(values, values_);
        onChanged();
        return this;
      }
      /**
       * <code>repeated uint32 values = 3;</code>
       */
      public Builder clearValues() {
        values_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000004);
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:msec.monitor.AttrIPData)
    }

    static {
      defaultInstance = new AttrIPData(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:msec.monitor.AttrIPData)
  }

  public interface RespAttrIPOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // repeated .msec.monitor.AttrIPData data = 1;
    /**
     * <code>repeated .msec.monitor.AttrIPData data = 1;</code>
     */
    java.util.List<msec.monitor.Monitor.AttrIPData>
        getDataList();
    /**
     * <code>repeated .msec.monitor.AttrIPData data = 1;</code>
     */
    msec.monitor.Monitor.AttrIPData getData(int index);
    /**
     * <code>repeated .msec.monitor.AttrIPData data = 1;</code>
     */
    int getDataCount();
    /**
     * <code>repeated .msec.monitor.AttrIPData data = 1;</code>
     */
    java.util.List<? extends msec.monitor.Monitor.AttrIPDataOrBuilder>
        getDataOrBuilderList();
    /**
     * <code>repeated .msec.monitor.AttrIPData data = 1;</code>
     */
    msec.monitor.Monitor.AttrIPDataOrBuilder getDataOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code msec.monitor.RespAttrIP}
   */
  public static final class RespAttrIP extends
      com.google.protobuf.GeneratedMessage
      implements RespAttrIPOrBuilder {
    // Use RespAttrIP.newBuilder() to construct.
    private RespAttrIP(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private RespAttrIP(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final RespAttrIP defaultInstance;
    public static RespAttrIP getDefaultInstance() {
      return defaultInstance;
    }

    public RespAttrIP getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private RespAttrIP(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
                data_ = new java.util.ArrayList<msec.monitor.Monitor.AttrIPData>();
                mutable_bitField0_ |= 0x00000001;
              }
              data_.add(input.readMessage(msec.monitor.Monitor.AttrIPData.PARSER, extensionRegistry));
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
          data_ = java.util.Collections.unmodifiableList(data_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return msec.monitor.Monitor.internal_static_msec_monitor_RespAttrIP_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return msec.monitor.Monitor.internal_static_msec_monitor_RespAttrIP_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              msec.monitor.Monitor.RespAttrIP.class, msec.monitor.Monitor.RespAttrIP.Builder.class);
    }

    public static com.google.protobuf.Parser<RespAttrIP> PARSER =
        new com.google.protobuf.AbstractParser<RespAttrIP>() {
      public RespAttrIP parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new RespAttrIP(input, extensionRegistry);
      }
    };

    @java.lang.Override
    public com.google.protobuf.Parser<RespAttrIP> getParserForType() {
      return PARSER;
    }

    // repeated .msec.monitor.AttrIPData data = 1;
    public static final int DATA_FIELD_NUMBER = 1;
    private java.util.List<msec.monitor.Monitor.AttrIPData> data_;
    /**
     * <code>repeated .msec.monitor.AttrIPData data = 1;</code>
     */
    public java.util.List<msec.monitor.Monitor.AttrIPData> getDataList() {
      return data_;
    }
    /**
     * <code>repeated .msec.monitor.AttrIPData data = 1;</code>
     */
    public java.util.List<? extends msec.monitor.Monitor.AttrIPDataOrBuilder>
        getDataOrBuilderList() {
      return data_;
    }
    /**
     * <code>repeated .msec.monitor.AttrIPData data = 1;</code>
     */
    public int getDataCount() {
      return data_.size();
    }
    /**
     * <code>repeated .msec.monitor.AttrIPData data = 1;</code>
     */
    public msec.monitor.Monitor.AttrIPData getData(int index) {
      return data_.get(index);
    }
    /**
     * <code>repeated .msec.monitor.AttrIPData data = 1;</code>
     */
    public msec.monitor.Monitor.AttrIPDataOrBuilder getDataOrBuilder(
        int index) {
      return data_.get(index);
    }

    private void initFields() {
      data_ = java.util.Collections.emptyList();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      for (int i = 0; i < data_.size(); i++) {
        output.writeMessage(1, data_.get(i));
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      for (int i = 0; i < data_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, data_.get(i));
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static msec.monitor.Monitor.RespAttrIP parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static msec.monitor.Monitor.RespAttrIP parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static msec.monitor.Monitor.RespAttrIP parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static msec.monitor.Monitor.RespAttrIP parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static msec.monitor.Monitor.RespAttrIP parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static msec.monitor.Monitor.RespAttrIP parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static msec.monitor.Monitor.RespAttrIP parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static msec.monitor.Monitor.RespAttrIP parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static msec.monitor.Monitor.RespAttrIP parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static msec.monitor.Monitor.RespAttrIP parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(msec.monitor.Monitor.RespAttrIP prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code msec.monitor.RespAttrIP}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder>
       implements msec.monitor.Monitor.RespAttrIPOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return msec.monitor.Monitor.internal_static_msec_monitor_RespAttrIP_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return msec.monitor.Monitor.internal_static_msec_monitor_RespAttrIP_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                msec.monitor.Monitor.RespAttrIP.class, msec.monitor.Monitor.RespAttrIP.Builder.class);
      }

      // Construct using msec.monitor.Monitor.RespAttrIP.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getDataFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        if (dataBuilder_ == null) {
          data_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
        } else {
          dataBuilder_.clear();
        }
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return msec.monitor.Monitor.internal_static_msec_monitor_RespAttrIP_descriptor;
      }

      public msec.monitor.Monitor.RespAttrIP getDefaultInstanceForType() {
        return msec.monitor.Monitor.RespAttrIP.getDefaultInstance();
      }

      public msec.monitor.Monitor.RespAttrIP build() {
        msec.monitor.Monitor.RespAttrIP result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public msec.monitor.Monitor.RespAttrIP buildPartial() {
        msec.monitor.Monitor.RespAttrIP result = new msec.monitor.Monitor.RespAttrIP(this);
        int from_bitField0_ = bitField0_;
        if (dataBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001)) {
            data_ = java.util.Collections.unmodifiableList(data_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.data_ = data_;
        } else {
          result.data_ = dataBuilder_.build();
        }
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof msec.monitor.Monitor.RespAttrIP) {
          return mergeFrom((msec.monitor.Monitor.RespAttrIP)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(msec.monitor.Monitor.RespAttrIP other) {
        if (other == msec.monitor.Monitor.RespAttrIP.getDefaultInstance()) return this;
        if (dataBuilder_ == null) {
          if (!other.data_.isEmpty()) {
            if (data_.isEmpty()) {
              data_ = other.data_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureDataIsMutable();
              data_.addAll(other.data_);
            }
            onChanged();
          }
        } else {
          if (!other.data_.isEmpty()) {
            if (dataBuilder_.isEmpty()) {
              dataBuilder_.dispose();
              dataBuilder_ = null;
              data_ = other.data_;
              bitField0_ = (bitField0_ & ~0x00000001);
              dataBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getDataFieldBuilder() : null;
            } else {
              dataBuilder_.addAllMessages(other.data_);
            }
          }
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        msec.monitor.Monitor.RespAttrIP parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (msec.monitor.Monitor.RespAttrIP) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // repeated .msec.monitor.AttrIPData data = 1;
      private java.util.List<msec.monitor.Monitor.AttrIPData> data_ =
        java.util.Collections.emptyList();
      private void ensureDataIsMutable() {
        if (!((bitField0_ & 0x00000001) == 0x00000001)) {
          data_ = new java.util.ArrayList<msec.monitor.Monitor.AttrIPData>(data_);
          bitField0_ |= 0x00000001;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilder<
          msec.monitor.Monitor.AttrIPData, msec.monitor.Monitor.AttrIPData.Builder, msec.monitor.Monitor.AttrIPDataOrBuilder> dataBuilder_;

      /**
       * <code>repeated .msec.monitor.AttrIPData data = 1;</code>
       */
      public java.util.List<msec.monitor.Monitor.AttrIPData> getDataList() {
        if (dataBuilder_ == null) {
          return java.util.Collections.unmodifiableList(data_);
        } else {
          return dataBuilder_.getMessageList();
        }
      }
      /**
       * <code>repeated .msec.monitor.AttrIPData data = 1;</code>
       */
      public int getDataCount() {
        if (dataBuilder_ == null) {
          return data_.size();
        } else {
          return dataBuilder_.getCount();
        }
      }
      /**
       * <code>repeated .msec.monitor.AttrIPData data = 1;</code>
       */
      public msec.monitor.Monitor.AttrIPData getData(int index) {
        if (dataBuilder_ == null) {
          return data_.get(index);
        } else {
          return dataBuilder_.getMessage(index);
        }
      }
      /**
       * <code>repeated .msec.monitor.AttrIPData data = 1;</code>
       */
      public Builder setData(
          int index, msec.monitor.Monitor.AttrIPData value) {
        if (dataBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureDataIsMutable();
          data_.set(index, value);
          onChanged();
        } else {
          dataBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.AttrIPData data = 1;</code>
       */
      public Builder setData(
          int index, msec.monitor.Monitor.AttrIPData.Builder builderForValue) {
        if (dataBuilder_ == null) {
          ensureDataIsMutable();
          data_.set(index, builderForValue.build());
          onChanged();
        } else {
          dataBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.AttrIPData data = 1;</code>
       */
      public Builder addData(msec.monitor.Monitor.AttrIPData value) {
        if (dataBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureDataIsMutable();
          data_.add(value);
          onChanged();
        } else {
          dataBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.AttrIPData data = 1;</code>
       */
      public Builder addData(
          int index, msec.monitor.Monitor.AttrIPData value) {
        if (dataBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureDataIsMutable();
          data_.add(index, value);
          onChanged();
        } else {
          dataBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.AttrIPData data = 1;</code>
       */
      public Builder addData(
          msec.monitor.Monitor.AttrIPData.Builder builderForValue) {
        if (dataBuilder_ == null) {
          ensureDataIsMutable();
          data_.add(builderForValue.build());
          onChanged();
        } else {
          dataBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.AttrIPData data = 1;</code>
       */
      public Builder addData(
          int index, msec.monitor.Monitor.AttrIPData.Builder builderForValue) {
        if (dataBuilder_ == null) {
          ensureDataIsMutable();
          data_.add(index, builderForValue.build());
          onChanged();
        } else {
          dataBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.AttrIPData data = 1;</code>
       */
      public Builder addAllData(
          java.lang.Iterable<? extends msec.monitor.Monitor.AttrIPData> values) {
        if (dataBuilder_ == null) {
          ensureDataIsMutable();
          super.addAll(values, data_);
          onChanged();
        } else {
          dataBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.AttrIPData data = 1;</code>
       */
      public Builder clearData() {
        if (dataBuilder_ == null) {
          data_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          dataBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.AttrIPData data = 1;</code>
       */
      public Builder removeData(int index) {
        if (dataBuilder_ == null) {
          ensureDataIsMutable();
          data_.remove(index);
          onChanged();
        } else {
          dataBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.AttrIPData data = 1;</code>
       */
      public msec.monitor.Monitor.AttrIPData.Builder getDataBuilder(
          int index) {
        return getDataFieldBuilder().getBuilder(index);
      }
      /**
       * <code>repeated .msec.monitor.AttrIPData data = 1;</code>
       */
      public msec.monitor.Monitor.AttrIPDataOrBuilder getDataOrBuilder(
          int index) {
        if (dataBuilder_ == null) {
          return data_.get(index);  } else {
          return dataBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <code>repeated .msec.monitor.AttrIPData data = 1;</code>
       */
      public java.util.List<? extends msec.monitor.Monitor.AttrIPDataOrBuilder>
           getDataOrBuilderList() {
        if (dataBuilder_ != null) {
          return dataBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(data_);
        }
      }
      /**
       * <code>repeated .msec.monitor.AttrIPData data = 1;</code>
       */
      public msec.monitor.Monitor.AttrIPData.Builder addDataBuilder() {
        return getDataFieldBuilder().addBuilder(
            msec.monitor.Monitor.AttrIPData.getDefaultInstance());
      }
      /**
       * <code>repeated .msec.monitor.AttrIPData data = 1;</code>
       */
      public msec.monitor.Monitor.AttrIPData.Builder addDataBuilder(
          int index) {
        return getDataFieldBuilder().addBuilder(
            index, msec.monitor.Monitor.AttrIPData.getDefaultInstance());
      }
      /**
       * <code>repeated .msec.monitor.AttrIPData data = 1;</code>
       */
      public java.util.List<msec.monitor.Monitor.AttrIPData.Builder>
           getDataBuilderList() {
        return getDataFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          msec.monitor.Monitor.AttrIPData, msec.monitor.Monitor.AttrIPData.Builder, msec.monitor.Monitor.AttrIPDataOrBuilder>
          getDataFieldBuilder() {
        if (dataBuilder_ == null) {
          dataBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              msec.monitor.Monitor.AttrIPData, msec.monitor.Monitor.AttrIPData.Builder, msec.monitor.Monitor.AttrIPDataOrBuilder>(
                  data_,
                  ((bitField0_ & 0x00000001) == 0x00000001),
                  getParentForChildren(),
                  isClean());
          data_ = null;
        }
        return dataBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:msec.monitor.RespAttrIP)
    }

    static {
      defaultInstance = new RespAttrIP(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:msec.monitor.RespAttrIP)
  }

  public interface ReqIPOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional string ip = 1;
    /**
     * <code>optional string ip = 1;</code>
     */
    boolean hasIp();
    /**
     * <code>optional string ip = 1;</code>
     */
    java.lang.String getIp();
    /**
     * <code>optional string ip = 1;</code>
     */
    com.google.protobuf.ByteString
        getIpBytes();

    // repeated uint32 days = 2;
    /**
     * <code>repeated uint32 days = 2;</code>
     *
     * <pre>
     *如2016年2月24日对应的值为20160224；如指定日期则只返回在指定日期内有数据的属性
     * </pre>
     */
    java.util.List<java.lang.Integer> getDaysList();
    /**
     * <code>repeated uint32 days = 2;</code>
     *
     * <pre>
     *如2016年2月24日对应的值为20160224；如指定日期则只返回在指定日期内有数据的属性
     * </pre>
     */
    int getDaysCount();
    /**
     * <code>repeated uint32 days = 2;</code>
     *
     * <pre>
     *如2016年2月24日对应的值为20160224；如指定日期则只返回在指定日期内有数据的属性
     * </pre>
     */
    int getDays(int index);
  }
  /**
   * Protobuf type {@code msec.monitor.ReqIP}
   *
   * <pre>
   *获取单个IP的Service和属性
   * </pre>
   */
  public static final class ReqIP extends
      com.google.protobuf.GeneratedMessage
      implements ReqIPOrBuilder {
    // Use ReqIP.newBuilder() to construct.
    private ReqIP(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private ReqIP(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final ReqIP defaultInstance;
    public static ReqIP getDefaultInstance() {
      return defaultInstance;
    }

    public ReqIP getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private ReqIP(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              bitField0_ |= 0x00000001;
              ip_ = input.readBytes();
              break;
            }
            case 16: {
              if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
                days_ = new java.util.ArrayList<java.lang.Integer>();
                mutable_bitField0_ |= 0x00000002;
              }
              days_.add(input.readUInt32());
              break;
            }
            case 18: {
              int length = input.readRawVarint32();
              int limit = input.pushLimit(length);
              if (!((mutable_bitField0_ & 0x00000002) == 0x00000002) && input.getBytesUntilLimit() > 0) {
                days_ = new java.util.ArrayList<java.lang.Integer>();
                mutable_bitField0_ |= 0x00000002;
              }
              while (input.getBytesUntilLimit() > 0) {
                days_.add(input.readUInt32());
              }
              input.popLimit(limit);
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
          days_ = java.util.Collections.unmodifiableList(days_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return msec.monitor.Monitor.internal_static_msec_monitor_ReqIP_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return msec.monitor.Monitor.internal_static_msec_monitor_ReqIP_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              msec.monitor.Monitor.ReqIP.class, msec.monitor.Monitor.ReqIP.Builder.class);
    }

    public static com.google.protobuf.Parser<ReqIP> PARSER =
        new com.google.protobuf.AbstractParser<ReqIP>() {
      public ReqIP parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new ReqIP(input, extensionRegistry);
      }
    };

    @java.lang.Override
    public com.google.protobuf.Parser<ReqIP> getParserForType() {
      return PARSER;
    }

    private int bitField0_;
    // optional string ip = 1;
    public static final int IP_FIELD_NUMBER = 1;
    private java.lang.Object ip_;
    /**
     * <code>optional string ip = 1;</code>
     */
    public boolean hasIp() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>optional string ip = 1;</code>
     */
    public java.lang.String getIp() {
      java.lang.Object ref = ip_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          ip_ = s;
        }
        return s;
      }
    }
    /**
     * <code>optional string ip = 1;</code>
     */
    public com.google.protobuf.ByteString
        getIpBytes() {
      java.lang.Object ref = ip_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        ip_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    // repeated uint32 days = 2;
    public static final int DAYS_FIELD_NUMBER = 2;
    private java.util.List<java.lang.Integer> days_;
    /**
     * <code>repeated uint32 days = 2;</code>
     *
     * <pre>
     *如2016年2月24日对应的值为20160224；如指定日期则只返回在指定日期内有数据的属性
     * </pre>
     */
    public java.util.List<java.lang.Integer>
        getDaysList() {
      return days_;
    }
    /**
     * <code>repeated uint32 days = 2;</code>
     *
     * <pre>
     *如2016年2月24日对应的值为20160224；如指定日期则只返回在指定日期内有数据的属性
     * </pre>
     */
    public int getDaysCount() {
      return days_.size();
    }
    /**
     * <code>repeated uint32 days = 2;</code>
     *
     * <pre>
     *如2016年2月24日对应的值为20160224；如指定日期则只返回在指定日期内有数据的属性
     * </pre>
     */
    public int getDays(int index) {
      return days_.get(index);
    }

    private void initFields() {
      ip_ = "";
      days_ = java.util.Collections.emptyList();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBytes(1, getIpBytes());
      }
      for (int i = 0; i < days_.size(); i++) {
        output.writeUInt32(2, days_.get(i));
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(1, getIpBytes());
      }
      {
        int dataSize = 0;
        for (int i = 0; i < days_.size(); i++) {
          dataSize += com.google.protobuf.CodedOutputStream
            .computeUInt32SizeNoTag(days_.get(i));
        }
        size += dataSize;
        size += 1 * getDaysList().size();
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static msec.monitor.Monitor.ReqIP parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static msec.monitor.Monitor.ReqIP parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static msec.monitor.Monitor.ReqIP parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static msec.monitor.Monitor.ReqIP parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static msec.monitor.Monitor.ReqIP parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static msec.monitor.Monitor.ReqIP parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static msec.monitor.Monitor.ReqIP parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static msec.monitor.Monitor.ReqIP parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static msec.monitor.Monitor.ReqIP parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static msec.monitor.Monitor.ReqIP parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(msec.monitor.Monitor.ReqIP prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code msec.monitor.ReqIP}
     *
     * <pre>
     *获取单个IP的Service和属性
     * </pre>
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder>
       implements msec.monitor.Monitor.ReqIPOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return msec.monitor.Monitor.internal_static_msec_monitor_ReqIP_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return msec.monitor.Monitor.internal_static_msec_monitor_ReqIP_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                msec.monitor.Monitor.ReqIP.class, msec.monitor.Monitor.ReqIP.Builder.class);
      }

      // Construct using msec.monitor.Monitor.ReqIP.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        ip_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        days_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return msec.monitor.Monitor.internal_static_msec_monitor_ReqIP_descriptor;
      }

      public msec.monitor.Monitor.ReqIP getDefaultInstanceForType() {
        return msec.monitor.Monitor.ReqIP.getDefaultInstance();
      }

      public msec.monitor.Monitor.ReqIP build() {
        msec.monitor.Monitor.ReqIP result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public msec.monitor.Monitor.ReqIP buildPartial() {
        msec.monitor.Monitor.ReqIP result = new msec.monitor.Monitor.ReqIP(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.ip_ = ip_;
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          days_ = java.util.Collections.unmodifiableList(days_);
          bitField0_ = (bitField0_ & ~0x00000002);
        }
        result.days_ = days_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof msec.monitor.Monitor.ReqIP) {
          return mergeFrom((msec.monitor.Monitor.ReqIP)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(msec.monitor.Monitor.ReqIP other) {
        if (other == msec.monitor.Monitor.ReqIP.getDefaultInstance()) return this;
        if (other.hasIp()) {
          bitField0_ |= 0x00000001;
          ip_ = other.ip_;
          onChanged();
        }
        if (!other.days_.isEmpty()) {
          if (days_.isEmpty()) {
            days_ = other.days_;
            bitField0_ = (bitField0_ & ~0x00000002);
          } else {
            ensureDaysIsMutable();
            days_.addAll(other.days_);
          }
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        msec.monitor.Monitor.ReqIP parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (msec.monitor.Monitor.ReqIP) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional string ip = 1;
      private java.lang.Object ip_ = "";
      /**
       * <code>optional string ip = 1;</code>
       */
      public boolean hasIp() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>optional string ip = 1;</code>
       */
      public java.lang.String getIp() {
        java.lang.Object ref = ip_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          ip_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>optional string ip = 1;</code>
       */
      public com.google.protobuf.ByteString
          getIpBytes() {
        java.lang.Object ref = ip_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          ip_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>optional string ip = 1;</code>
       */
      public Builder setIp(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        ip_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional string ip = 1;</code>
       */
      public Builder clearIp() {
        bitField0_ = (bitField0_ & ~0x00000001);
        ip_ = getDefaultInstance().getIp();
        onChanged();
        return this;
      }
      /**
       * <code>optional string ip = 1;</code>
       */
      public Builder setIpBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        ip_ = value;
        onChanged();
        return this;
      }

      // repeated uint32 days = 2;
      private java.util.List<java.lang.Integer> days_ = java.util.Collections.emptyList();
      private void ensureDaysIsMutable() {
        if (!((bitField0_ & 0x00000002) == 0x00000002)) {
          days_ = new java.util.ArrayList<java.lang.Integer>(days_);
          bitField0_ |= 0x00000002;
         }
      }
      /**
       * <code>repeated uint32 days = 2;</code>
       *
       * <pre>
       *如2016年2月24日对应的值为20160224；如指定日期则只返回在指定日期内有数据的属性
       * </pre>
       */
      public java.util.List<java.lang.Integer>
          getDaysList() {
        return java.util.Collections.unmodifiableList(days_);
      }
      /**
       * <code>repeated uint32 days = 2;</code>
       *
       * <pre>
       *如2016年2月24日对应的值为20160224；如指定日期则只返回在指定日期内有数据的属性
       * </pre>
       */
      public int getDaysCount() {
        return days_.size();
      }
      /**
       * <code>repeated uint32 days = 2;</code>
       *
       * <pre>
       *如2016年2月24日对应的值为20160224；如指定日期则只返回在指定日期内有数据的属性
       * </pre>
       */
      public int getDays(int index) {
        return days_.get(index);
      }
      /**
       * <code>repeated uint32 days = 2;</code>
       *
       * <pre>
       *如2016年2月24日对应的值为20160224；如指定日期则只返回在指定日期内有数据的属性
       * </pre>
       */
      public Builder setDays(
          int index, int value) {
        ensureDaysIsMutable();
        days_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated uint32 days = 2;</code>
       *
       * <pre>
       *如2016年2月24日对应的值为20160224；如指定日期则只返回在指定日期内有数据的属性
       * </pre>
       */
      public Builder addDays(int value) {
        ensureDaysIsMutable();
        days_.add(value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated uint32 days = 2;</code>
       *
       * <pre>
       *如2016年2月24日对应的值为20160224；如指定日期则只返回在指定日期内有数据的属性
       * </pre>
       */
      public Builder addAllDays(
          java.lang.Iterable<? extends java.lang.Integer> values) {
        ensureDaysIsMutable();
        super.addAll(values, days_);
        onChanged();
        return this;
      }
      /**
       * <code>repeated uint32 days = 2;</code>
       *
       * <pre>
       *如2016年2月24日对应的值为20160224；如指定日期则只返回在指定日期内有数据的属性
       * </pre>
       */
      public Builder clearDays() {
        days_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000002);
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:msec.monitor.ReqIP)
    }

    static {
      defaultInstance = new ReqIP(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:msec.monitor.ReqIP)
  }

  public interface IPDataOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional string servicename = 1;
    /**
     * <code>optional string servicename = 1;</code>
     */
    boolean hasServicename();
    /**
     * <code>optional string servicename = 1;</code>
     */
    java.lang.String getServicename();
    /**
     * <code>optional string servicename = 1;</code>
     */
    com.google.protobuf.ByteString
        getServicenameBytes();

    // repeated string attrnames = 2;
    /**
     * <code>repeated string attrnames = 2;</code>
     *
     * <pre>
     *如果指定了日期，有可能返回有servicename但无attrname的IPData，说明该servicename下在指定日期没有属性上报
     * </pre>
     */
    java.util.List<java.lang.String>
    getAttrnamesList();
    /**
     * <code>repeated string attrnames = 2;</code>
     *
     * <pre>
     *如果指定了日期，有可能返回有servicename但无attrname的IPData，说明该servicename下在指定日期没有属性上报
     * </pre>
     */
    int getAttrnamesCount();
    /**
     * <code>repeated string attrnames = 2;</code>
     *
     * <pre>
     *如果指定了日期，有可能返回有servicename但无attrname的IPData，说明该servicename下在指定日期没有属性上报
     * </pre>
     */
    java.lang.String getAttrnames(int index);
    /**
     * <code>repeated string attrnames = 2;</code>
     *
     * <pre>
     *如果指定了日期，有可能返回有servicename但无attrname的IPData，说明该servicename下在指定日期没有属性上报
     * </pre>
     */
    com.google.protobuf.ByteString
        getAttrnamesBytes(int index);
  }
  /**
   * Protobuf type {@code msec.monitor.IPData}
   */
  public static final class IPData extends
      com.google.protobuf.GeneratedMessage
      implements IPDataOrBuilder {
    // Use IPData.newBuilder() to construct.
    private IPData(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private IPData(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final IPData defaultInstance;
    public static IPData getDefaultInstance() {
      return defaultInstance;
    }

    public IPData getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private IPData(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              bitField0_ |= 0x00000001;
              servicename_ = input.readBytes();
              break;
            }
            case 18: {
              if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
                attrnames_ = new com.google.protobuf.LazyStringArrayList();
                mutable_bitField0_ |= 0x00000002;
              }
              attrnames_.add(input.readBytes());
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
          attrnames_ = new com.google.protobuf.UnmodifiableLazyStringList(attrnames_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return msec.monitor.Monitor.internal_static_msec_monitor_IPData_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return msec.monitor.Monitor.internal_static_msec_monitor_IPData_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              msec.monitor.Monitor.IPData.class, msec.monitor.Monitor.IPData.Builder.class);
    }

    public static com.google.protobuf.Parser<IPData> PARSER =
        new com.google.protobuf.AbstractParser<IPData>() {
      public IPData parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new IPData(input, extensionRegistry);
      }
    };

    @java.lang.Override
    public com.google.protobuf.Parser<IPData> getParserForType() {
      return PARSER;
    }

    private int bitField0_;
    // optional string servicename = 1;
    public static final int SERVICENAME_FIELD_NUMBER = 1;
    private java.lang.Object servicename_;
    /**
     * <code>optional string servicename = 1;</code>
     */
    public boolean hasServicename() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>optional string servicename = 1;</code>
     */
    public java.lang.String getServicename() {
      java.lang.Object ref = servicename_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          servicename_ = s;
        }
        return s;
      }
    }
    /**
     * <code>optional string servicename = 1;</code>
     */
    public com.google.protobuf.ByteString
        getServicenameBytes() {
      java.lang.Object ref = servicename_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        servicename_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    // repeated string attrnames = 2;
    public static final int ATTRNAMES_FIELD_NUMBER = 2;
    private com.google.protobuf.LazyStringList attrnames_;
    /**
     * <code>repeated string attrnames = 2;</code>
     *
     * <pre>
     *如果指定了日期，有可能返回有servicename但无attrname的IPData，说明该servicename下在指定日期没有属性上报
     * </pre>
     */
    public java.util.List<java.lang.String>
        getAttrnamesList() {
      return attrnames_;
    }
    /**
     * <code>repeated string attrnames = 2;</code>
     *
     * <pre>
     *如果指定了日期，有可能返回有servicename但无attrname的IPData，说明该servicename下在指定日期没有属性上报
     * </pre>
     */
    public int getAttrnamesCount() {
      return attrnames_.size();
    }
    /**
     * <code>repeated string attrnames = 2;</code>
     *
     * <pre>
     *如果指定了日期，有可能返回有servicename但无attrname的IPData，说明该servicename下在指定日期没有属性上报
     * </pre>
     */
    public java.lang.String getAttrnames(int index) {
      return attrnames_.get(index);
    }
    /**
     * <code>repeated string attrnames = 2;</code>
     *
     * <pre>
     *如果指定了日期，有可能返回有servicename但无attrname的IPData，说明该servicename下在指定日期没有属性上报
     * </pre>
     */
    public com.google.protobuf.ByteString
        getAttrnamesBytes(int index) {
      return attrnames_.getByteString(index);
    }

    private void initFields() {
      servicename_ = "";
      attrnames_ = com.google.protobuf.LazyStringArrayList.EMPTY;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBytes(1, getServicenameBytes());
      }
      for (int i = 0; i < attrnames_.size(); i++) {
        output.writeBytes(2, attrnames_.getByteString(i));
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(1, getServicenameBytes());
      }
      {
        int dataSize = 0;
        for (int i = 0; i < attrnames_.size(); i++) {
          dataSize += com.google.protobuf.CodedOutputStream
            .computeBytesSizeNoTag(attrnames_.getByteString(i));
        }
        size += dataSize;
        size += 1 * getAttrnamesList().size();
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static msec.monitor.Monitor.IPData parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static msec.monitor.Monitor.IPData parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static msec.monitor.Monitor.IPData parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static msec.monitor.Monitor.IPData parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static msec.monitor.Monitor.IPData parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static msec.monitor.Monitor.IPData parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static msec.monitor.Monitor.IPData parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static msec.monitor.Monitor.IPData parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static msec.monitor.Monitor.IPData parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static msec.monitor.Monitor.IPData parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(msec.monitor.Monitor.IPData prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code msec.monitor.IPData}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder>
       implements msec.monitor.Monitor.IPDataOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return msec.monitor.Monitor.internal_static_msec_monitor_IPData_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return msec.monitor.Monitor.internal_static_msec_monitor_IPData_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                msec.monitor.Monitor.IPData.class, msec.monitor.Monitor.IPData.Builder.class);
      }

      // Construct using msec.monitor.Monitor.IPData.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        servicename_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        attrnames_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return msec.monitor.Monitor.internal_static_msec_monitor_IPData_descriptor;
      }

      public msec.monitor.Monitor.IPData getDefaultInstanceForType() {
        return msec.monitor.Monitor.IPData.getDefaultInstance();
      }

      public msec.monitor.Monitor.IPData build() {
        msec.monitor.Monitor.IPData result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public msec.monitor.Monitor.IPData buildPartial() {
        msec.monitor.Monitor.IPData result = new msec.monitor.Monitor.IPData(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.servicename_ = servicename_;
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          attrnames_ = new com.google.protobuf.UnmodifiableLazyStringList(
              attrnames_);
          bitField0_ = (bitField0_ & ~0x00000002);
        }
        result.attrnames_ = attrnames_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof msec.monitor.Monitor.IPData) {
          return mergeFrom((msec.monitor.Monitor.IPData)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(msec.monitor.Monitor.IPData other) {
        if (other == msec.monitor.Monitor.IPData.getDefaultInstance()) return this;
        if (other.hasServicename()) {
          bitField0_ |= 0x00000001;
          servicename_ = other.servicename_;
          onChanged();
        }
        if (!other.attrnames_.isEmpty()) {
          if (attrnames_.isEmpty()) {
            attrnames_ = other.attrnames_;
            bitField0_ = (bitField0_ & ~0x00000002);
          } else {
            ensureAttrnamesIsMutable();
            attrnames_.addAll(other.attrnames_);
          }
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        msec.monitor.Monitor.IPData parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (msec.monitor.Monitor.IPData) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional string servicename = 1;
      private java.lang.Object servicename_ = "";
      /**
       * <code>optional string servicename = 1;</code>
       */
      public boolean hasServicename() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>optional string servicename = 1;</code>
       */
      public java.lang.String getServicename() {
        java.lang.Object ref = servicename_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          servicename_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>optional string servicename = 1;</code>
       */
      public com.google.protobuf.ByteString
          getServicenameBytes() {
        java.lang.Object ref = servicename_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          servicename_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>optional string servicename = 1;</code>
       */
      public Builder setServicename(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        servicename_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional string servicename = 1;</code>
       */
      public Builder clearServicename() {
        bitField0_ = (bitField0_ & ~0x00000001);
        servicename_ = getDefaultInstance().getServicename();
        onChanged();
        return this;
      }
      /**
       * <code>optional string servicename = 1;</code>
       */
      public Builder setServicenameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        servicename_ = value;
        onChanged();
        return this;
      }

      // repeated string attrnames = 2;
      private com.google.protobuf.LazyStringList attrnames_ = com.google.protobuf.LazyStringArrayList.EMPTY;
      private void ensureAttrnamesIsMutable() {
        if (!((bitField0_ & 0x00000002) == 0x00000002)) {
          attrnames_ = new com.google.protobuf.LazyStringArrayList(attrnames_);
          bitField0_ |= 0x00000002;
         }
      }
      /**
       * <code>repeated string attrnames = 2;</code>
       *
       * <pre>
       *如果指定了日期，有可能返回有servicename但无attrname的IPData，说明该servicename下在指定日期没有属性上报
       * </pre>
       */
      public java.util.List<java.lang.String>
          getAttrnamesList() {
        return java.util.Collections.unmodifiableList(attrnames_);
      }
      /**
       * <code>repeated string attrnames = 2;</code>
       *
       * <pre>
       *如果指定了日期，有可能返回有servicename但无attrname的IPData，说明该servicename下在指定日期没有属性上报
       * </pre>
       */
      public int getAttrnamesCount() {
        return attrnames_.size();
      }
      /**
       * <code>repeated string attrnames = 2;</code>
       *
       * <pre>
       *如果指定了日期，有可能返回有servicename但无attrname的IPData，说明该servicename下在指定日期没有属性上报
       * </pre>
       */
      public java.lang.String getAttrnames(int index) {
        return attrnames_.get(index);
      }
      /**
       * <code>repeated string attrnames = 2;</code>
       *
       * <pre>
       *如果指定了日期，有可能返回有servicename但无attrname的IPData，说明该servicename下在指定日期没有属性上报
       * </pre>
       */
      public com.google.protobuf.ByteString
          getAttrnamesBytes(int index) {
        return attrnames_.getByteString(index);
      }
      /**
       * <code>repeated string attrnames = 2;</code>
       *
       * <pre>
       *如果指定了日期，有可能返回有servicename但无attrname的IPData，说明该servicename下在指定日期没有属性上报
       * </pre>
       */
      public Builder setAttrnames(
          int index, java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureAttrnamesIsMutable();
        attrnames_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated string attrnames = 2;</code>
       *
       * <pre>
       *如果指定了日期，有可能返回有servicename但无attrname的IPData，说明该servicename下在指定日期没有属性上报
       * </pre>
       */
      public Builder addAttrnames(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureAttrnamesIsMutable();
        attrnames_.add(value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated string attrnames = 2;</code>
       *
       * <pre>
       *如果指定了日期，有可能返回有servicename但无attrname的IPData，说明该servicename下在指定日期没有属性上报
       * </pre>
       */
      public Builder addAllAttrnames(
          java.lang.Iterable<java.lang.String> values) {
        ensureAttrnamesIsMutable();
        super.addAll(values, attrnames_);
        onChanged();
        return this;
      }
      /**
       * <code>repeated string attrnames = 2;</code>
       *
       * <pre>
       *如果指定了日期，有可能返回有servicename但无attrname的IPData，说明该servicename下在指定日期没有属性上报
       * </pre>
       */
      public Builder clearAttrnames() {
        attrnames_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000002);
        onChanged();
        return this;
      }
      /**
       * <code>repeated string attrnames = 2;</code>
       *
       * <pre>
       *如果指定了日期，有可能返回有servicename但无attrname的IPData，说明该servicename下在指定日期没有属性上报
       * </pre>
       */
      public Builder addAttrnamesBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureAttrnamesIsMutable();
        attrnames_.add(value);
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:msec.monitor.IPData)
    }

    static {
      defaultInstance = new IPData(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:msec.monitor.IPData)
  }

  public interface RespIPOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // repeated .msec.monitor.IPData data = 1;
    /**
     * <code>repeated .msec.monitor.IPData data = 1;</code>
     */
    java.util.List<msec.monitor.Monitor.IPData>
        getDataList();
    /**
     * <code>repeated .msec.monitor.IPData data = 1;</code>
     */
    msec.monitor.Monitor.IPData getData(int index);
    /**
     * <code>repeated .msec.monitor.IPData data = 1;</code>
     */
    int getDataCount();
    /**
     * <code>repeated .msec.monitor.IPData data = 1;</code>
     */
    java.util.List<? extends msec.monitor.Monitor.IPDataOrBuilder>
        getDataOrBuilderList();
    /**
     * <code>repeated .msec.monitor.IPData data = 1;</code>
     */
    msec.monitor.Monitor.IPDataOrBuilder getDataOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code msec.monitor.RespIP}
   */
  public static final class RespIP extends
      com.google.protobuf.GeneratedMessage
      implements RespIPOrBuilder {
    // Use RespIP.newBuilder() to construct.
    private RespIP(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private RespIP(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final RespIP defaultInstance;
    public static RespIP getDefaultInstance() {
      return defaultInstance;
    }

    public RespIP getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private RespIP(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
                data_ = new java.util.ArrayList<msec.monitor.Monitor.IPData>();
                mutable_bitField0_ |= 0x00000001;
              }
              data_.add(input.readMessage(msec.monitor.Monitor.IPData.PARSER, extensionRegistry));
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
          data_ = java.util.Collections.unmodifiableList(data_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return msec.monitor.Monitor.internal_static_msec_monitor_RespIP_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return msec.monitor.Monitor.internal_static_msec_monitor_RespIP_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              msec.monitor.Monitor.RespIP.class, msec.monitor.Monitor.RespIP.Builder.class);
    }

    public static com.google.protobuf.Parser<RespIP> PARSER =
        new com.google.protobuf.AbstractParser<RespIP>() {
      public RespIP parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new RespIP(input, extensionRegistry);
      }
    };

    @java.lang.Override
    public com.google.protobuf.Parser<RespIP> getParserForType() {
      return PARSER;
    }

    // repeated .msec.monitor.IPData data = 1;
    public static final int DATA_FIELD_NUMBER = 1;
    private java.util.List<msec.monitor.Monitor.IPData> data_;
    /**
     * <code>repeated .msec.monitor.IPData data = 1;</code>
     */
    public java.util.List<msec.monitor.Monitor.IPData> getDataList() {
      return data_;
    }
    /**
     * <code>repeated .msec.monitor.IPData data = 1;</code>
     */
    public java.util.List<? extends msec.monitor.Monitor.IPDataOrBuilder>
        getDataOrBuilderList() {
      return data_;
    }
    /**
     * <code>repeated .msec.monitor.IPData data = 1;</code>
     */
    public int getDataCount() {
      return data_.size();
    }
    /**
     * <code>repeated .msec.monitor.IPData data = 1;</code>
     */
    public msec.monitor.Monitor.IPData getData(int index) {
      return data_.get(index);
    }
    /**
     * <code>repeated .msec.monitor.IPData data = 1;</code>
     */
    public msec.monitor.Monitor.IPDataOrBuilder getDataOrBuilder(
        int index) {
      return data_.get(index);
    }

    private void initFields() {
      data_ = java.util.Collections.emptyList();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      for (int i = 0; i < data_.size(); i++) {
        output.writeMessage(1, data_.get(i));
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      for (int i = 0; i < data_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, data_.get(i));
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static msec.monitor.Monitor.RespIP parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static msec.monitor.Monitor.RespIP parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static msec.monitor.Monitor.RespIP parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static msec.monitor.Monitor.RespIP parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static msec.monitor.Monitor.RespIP parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static msec.monitor.Monitor.RespIP parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static msec.monitor.Monitor.RespIP parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static msec.monitor.Monitor.RespIP parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static msec.monitor.Monitor.RespIP parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static msec.monitor.Monitor.RespIP parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(msec.monitor.Monitor.RespIP prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code msec.monitor.RespIP}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder>
       implements msec.monitor.Monitor.RespIPOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return msec.monitor.Monitor.internal_static_msec_monitor_RespIP_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return msec.monitor.Monitor.internal_static_msec_monitor_RespIP_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                msec.monitor.Monitor.RespIP.class, msec.monitor.Monitor.RespIP.Builder.class);
      }

      // Construct using msec.monitor.Monitor.RespIP.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getDataFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        if (dataBuilder_ == null) {
          data_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
        } else {
          dataBuilder_.clear();
        }
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return msec.monitor.Monitor.internal_static_msec_monitor_RespIP_descriptor;
      }

      public msec.monitor.Monitor.RespIP getDefaultInstanceForType() {
        return msec.monitor.Monitor.RespIP.getDefaultInstance();
      }

      public msec.monitor.Monitor.RespIP build() {
        msec.monitor.Monitor.RespIP result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public msec.monitor.Monitor.RespIP buildPartial() {
        msec.monitor.Monitor.RespIP result = new msec.monitor.Monitor.RespIP(this);
        int from_bitField0_ = bitField0_;
        if (dataBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001)) {
            data_ = java.util.Collections.unmodifiableList(data_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.data_ = data_;
        } else {
          result.data_ = dataBuilder_.build();
        }
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof msec.monitor.Monitor.RespIP) {
          return mergeFrom((msec.monitor.Monitor.RespIP)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(msec.monitor.Monitor.RespIP other) {
        if (other == msec.monitor.Monitor.RespIP.getDefaultInstance()) return this;
        if (dataBuilder_ == null) {
          if (!other.data_.isEmpty()) {
            if (data_.isEmpty()) {
              data_ = other.data_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureDataIsMutable();
              data_.addAll(other.data_);
            }
            onChanged();
          }
        } else {
          if (!other.data_.isEmpty()) {
            if (dataBuilder_.isEmpty()) {
              dataBuilder_.dispose();
              dataBuilder_ = null;
              data_ = other.data_;
              bitField0_ = (bitField0_ & ~0x00000001);
              dataBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getDataFieldBuilder() : null;
            } else {
              dataBuilder_.addAllMessages(other.data_);
            }
          }
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        msec.monitor.Monitor.RespIP parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (msec.monitor.Monitor.RespIP) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // repeated .msec.monitor.IPData data = 1;
      private java.util.List<msec.monitor.Monitor.IPData> data_ =
        java.util.Collections.emptyList();
      private void ensureDataIsMutable() {
        if (!((bitField0_ & 0x00000001) == 0x00000001)) {
          data_ = new java.util.ArrayList<msec.monitor.Monitor.IPData>(data_);
          bitField0_ |= 0x00000001;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilder<
          msec.monitor.Monitor.IPData, msec.monitor.Monitor.IPData.Builder, msec.monitor.Monitor.IPDataOrBuilder> dataBuilder_;

      /**
       * <code>repeated .msec.monitor.IPData data = 1;</code>
       */
      public java.util.List<msec.monitor.Monitor.IPData> getDataList() {
        if (dataBuilder_ == null) {
          return java.util.Collections.unmodifiableList(data_);
        } else {
          return dataBuilder_.getMessageList();
        }
      }
      /**
       * <code>repeated .msec.monitor.IPData data = 1;</code>
       */
      public int getDataCount() {
        if (dataBuilder_ == null) {
          return data_.size();
        } else {
          return dataBuilder_.getCount();
        }
      }
      /**
       * <code>repeated .msec.monitor.IPData data = 1;</code>
       */
      public msec.monitor.Monitor.IPData getData(int index) {
        if (dataBuilder_ == null) {
          return data_.get(index);
        } else {
          return dataBuilder_.getMessage(index);
        }
      }
      /**
       * <code>repeated .msec.monitor.IPData data = 1;</code>
       */
      public Builder setData(
          int index, msec.monitor.Monitor.IPData value) {
        if (dataBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureDataIsMutable();
          data_.set(index, value);
          onChanged();
        } else {
          dataBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.IPData data = 1;</code>
       */
      public Builder setData(
          int index, msec.monitor.Monitor.IPData.Builder builderForValue) {
        if (dataBuilder_ == null) {
          ensureDataIsMutable();
          data_.set(index, builderForValue.build());
          onChanged();
        } else {
          dataBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.IPData data = 1;</code>
       */
      public Builder addData(msec.monitor.Monitor.IPData value) {
        if (dataBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureDataIsMutable();
          data_.add(value);
          onChanged();
        } else {
          dataBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.IPData data = 1;</code>
       */
      public Builder addData(
          int index, msec.monitor.Monitor.IPData value) {
        if (dataBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureDataIsMutable();
          data_.add(index, value);
          onChanged();
        } else {
          dataBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.IPData data = 1;</code>
       */
      public Builder addData(
          msec.monitor.Monitor.IPData.Builder builderForValue) {
        if (dataBuilder_ == null) {
          ensureDataIsMutable();
          data_.add(builderForValue.build());
          onChanged();
        } else {
          dataBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.IPData data = 1;</code>
       */
      public Builder addData(
          int index, msec.monitor.Monitor.IPData.Builder builderForValue) {
        if (dataBuilder_ == null) {
          ensureDataIsMutable();
          data_.add(index, builderForValue.build());
          onChanged();
        } else {
          dataBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.IPData data = 1;</code>
       */
      public Builder addAllData(
          java.lang.Iterable<? extends msec.monitor.Monitor.IPData> values) {
        if (dataBuilder_ == null) {
          ensureDataIsMutable();
          super.addAll(values, data_);
          onChanged();
        } else {
          dataBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.IPData data = 1;</code>
       */
      public Builder clearData() {
        if (dataBuilder_ == null) {
          data_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          dataBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.IPData data = 1;</code>
       */
      public Builder removeData(int index) {
        if (dataBuilder_ == null) {
          ensureDataIsMutable();
          data_.remove(index);
          onChanged();
        } else {
          dataBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.IPData data = 1;</code>
       */
      public msec.monitor.Monitor.IPData.Builder getDataBuilder(
          int index) {
        return getDataFieldBuilder().getBuilder(index);
      }
      /**
       * <code>repeated .msec.monitor.IPData data = 1;</code>
       */
      public msec.monitor.Monitor.IPDataOrBuilder getDataOrBuilder(
          int index) {
        if (dataBuilder_ == null) {
          return data_.get(index);  } else {
          return dataBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <code>repeated .msec.monitor.IPData data = 1;</code>
       */
      public java.util.List<? extends msec.monitor.Monitor.IPDataOrBuilder>
           getDataOrBuilderList() {
        if (dataBuilder_ != null) {
          return dataBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(data_);
        }
      }
      /**
       * <code>repeated .msec.monitor.IPData data = 1;</code>
       */
      public msec.monitor.Monitor.IPData.Builder addDataBuilder() {
        return getDataFieldBuilder().addBuilder(
            msec.monitor.Monitor.IPData.getDefaultInstance());
      }
      /**
       * <code>repeated .msec.monitor.IPData data = 1;</code>
       */
      public msec.monitor.Monitor.IPData.Builder addDataBuilder(
          int index) {
        return getDataFieldBuilder().addBuilder(
            index, msec.monitor.Monitor.IPData.getDefaultInstance());
      }
      /**
       * <code>repeated .msec.monitor.IPData data = 1;</code>
       */
      public java.util.List<msec.monitor.Monitor.IPData.Builder>
           getDataBuilderList() {
        return getDataFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          msec.monitor.Monitor.IPData, msec.monitor.Monitor.IPData.Builder, msec.monitor.Monitor.IPDataOrBuilder>
          getDataFieldBuilder() {
        if (dataBuilder_ == null) {
          dataBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              msec.monitor.Monitor.IPData, msec.monitor.Monitor.IPData.Builder, msec.monitor.Monitor.IPDataOrBuilder>(
                  data_,
                  ((bitField0_ & 0x00000001) == 0x00000001),
                  getParentForChildren(),
                  isClean());
          data_ = null;
        }
        return dataBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:msec.monitor.RespIP)
    }

    static {
      defaultInstance = new RespIP(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:msec.monitor.RespIP)
  }

  public interface ReqIPAttrOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional string ip = 1;
    /**
     * <code>optional string ip = 1;</code>
     */
    boolean hasIp();
    /**
     * <code>optional string ip = 1;</code>
     */
    java.lang.String getIp();
    /**
     * <code>optional string ip = 1;</code>
     */
    com.google.protobuf.ByteString
        getIpBytes();

    // repeated .msec.monitor.IPData attrs = 2;
    /**
     * <code>repeated .msec.monitor.IPData attrs = 2;</code>
     */
    java.util.List<msec.monitor.Monitor.IPData>
        getAttrsList();
    /**
     * <code>repeated .msec.monitor.IPData attrs = 2;</code>
     */
    msec.monitor.Monitor.IPData getAttrs(int index);
    /**
     * <code>repeated .msec.monitor.IPData attrs = 2;</code>
     */
    int getAttrsCount();
    /**
     * <code>repeated .msec.monitor.IPData attrs = 2;</code>
     */
    java.util.List<? extends msec.monitor.Monitor.IPDataOrBuilder>
        getAttrsOrBuilderList();
    /**
     * <code>repeated .msec.monitor.IPData attrs = 2;</code>
     */
    msec.monitor.Monitor.IPDataOrBuilder getAttrsOrBuilder(
        int index);

    // repeated uint32 days = 3;
    /**
     * <code>repeated uint32 days = 3;</code>
     */
    java.util.List<java.lang.Integer> getDaysList();
    /**
     * <code>repeated uint32 days = 3;</code>
     */
    int getDaysCount();
    /**
     * <code>repeated uint32 days = 3;</code>
     */
    int getDays(int index);
  }
  /**
   * Protobuf type {@code msec.monitor.ReqIPAttr}
   *
   * <pre>
   *批量获取单个IP的多天多属性数据
   * </pre>
   */
  public static final class ReqIPAttr extends
      com.google.protobuf.GeneratedMessage
      implements ReqIPAttrOrBuilder {
    // Use ReqIPAttr.newBuilder() to construct.
    private ReqIPAttr(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private ReqIPAttr(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final ReqIPAttr defaultInstance;
    public static ReqIPAttr getDefaultInstance() {
      return defaultInstance;
    }

    public ReqIPAttr getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private ReqIPAttr(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              bitField0_ |= 0x00000001;
              ip_ = input.readBytes();
              break;
            }
            case 18: {
              if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
                attrs_ = new java.util.ArrayList<msec.monitor.Monitor.IPData>();
                mutable_bitField0_ |= 0x00000002;
              }
              attrs_.add(input.readMessage(msec.monitor.Monitor.IPData.PARSER, extensionRegistry));
              break;
            }
            case 24: {
              if (!((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
                days_ = new java.util.ArrayList<java.lang.Integer>();
                mutable_bitField0_ |= 0x00000004;
              }
              days_.add(input.readUInt32());
              break;
            }
            case 26: {
              int length = input.readRawVarint32();
              int limit = input.pushLimit(length);
              if (!((mutable_bitField0_ & 0x00000004) == 0x00000004) && input.getBytesUntilLimit() > 0) {
                days_ = new java.util.ArrayList<java.lang.Integer>();
                mutable_bitField0_ |= 0x00000004;
              }
              while (input.getBytesUntilLimit() > 0) {
                days_.add(input.readUInt32());
              }
              input.popLimit(limit);
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
          attrs_ = java.util.Collections.unmodifiableList(attrs_);
        }
        if (((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
          days_ = java.util.Collections.unmodifiableList(days_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return msec.monitor.Monitor.internal_static_msec_monitor_ReqIPAttr_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return msec.monitor.Monitor.internal_static_msec_monitor_ReqIPAttr_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              msec.monitor.Monitor.ReqIPAttr.class, msec.monitor.Monitor.ReqIPAttr.Builder.class);
    }

    public static com.google.protobuf.Parser<ReqIPAttr> PARSER =
        new com.google.protobuf.AbstractParser<ReqIPAttr>() {
      public ReqIPAttr parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new ReqIPAttr(input, extensionRegistry);
      }
    };

    @java.lang.Override
    public com.google.protobuf.Parser<ReqIPAttr> getParserForType() {
      return PARSER;
    }

    private int bitField0_;
    // optional string ip = 1;
    public static final int IP_FIELD_NUMBER = 1;
    private java.lang.Object ip_;
    /**
     * <code>optional string ip = 1;</code>
     */
    public boolean hasIp() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>optional string ip = 1;</code>
     */
    public java.lang.String getIp() {
      java.lang.Object ref = ip_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          ip_ = s;
        }
        return s;
      }
    }
    /**
     * <code>optional string ip = 1;</code>
     */
    public com.google.protobuf.ByteString
        getIpBytes() {
      java.lang.Object ref = ip_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        ip_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    // repeated .msec.monitor.IPData attrs = 2;
    public static final int ATTRS_FIELD_NUMBER = 2;
    private java.util.List<msec.monitor.Monitor.IPData> attrs_;
    /**
     * <code>repeated .msec.monitor.IPData attrs = 2;</code>
     */
    public java.util.List<msec.monitor.Monitor.IPData> getAttrsList() {
      return attrs_;
    }
    /**
     * <code>repeated .msec.monitor.IPData attrs = 2;</code>
     */
    public java.util.List<? extends msec.monitor.Monitor.IPDataOrBuilder>
        getAttrsOrBuilderList() {
      return attrs_;
    }
    /**
     * <code>repeated .msec.monitor.IPData attrs = 2;</code>
     */
    public int getAttrsCount() {
      return attrs_.size();
    }
    /**
     * <code>repeated .msec.monitor.IPData attrs = 2;</code>
     */
    public msec.monitor.Monitor.IPData getAttrs(int index) {
      return attrs_.get(index);
    }
    /**
     * <code>repeated .msec.monitor.IPData attrs = 2;</code>
     */
    public msec.monitor.Monitor.IPDataOrBuilder getAttrsOrBuilder(
        int index) {
      return attrs_.get(index);
    }

    // repeated uint32 days = 3;
    public static final int DAYS_FIELD_NUMBER = 3;
    private java.util.List<java.lang.Integer> days_;
    /**
     * <code>repeated uint32 days = 3;</code>
     */
    public java.util.List<java.lang.Integer>
        getDaysList() {
      return days_;
    }
    /**
     * <code>repeated uint32 days = 3;</code>
     */
    public int getDaysCount() {
      return days_.size();
    }
    /**
     * <code>repeated uint32 days = 3;</code>
     */
    public int getDays(int index) {
      return days_.get(index);
    }

    private void initFields() {
      ip_ = "";
      attrs_ = java.util.Collections.emptyList();
      days_ = java.util.Collections.emptyList();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBytes(1, getIpBytes());
      }
      for (int i = 0; i < attrs_.size(); i++) {
        output.writeMessage(2, attrs_.get(i));
      }
      for (int i = 0; i < days_.size(); i++) {
        output.writeUInt32(3, days_.get(i));
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(1, getIpBytes());
      }
      for (int i = 0; i < attrs_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, attrs_.get(i));
      }
      {
        int dataSize = 0;
        for (int i = 0; i < days_.size(); i++) {
          dataSize += com.google.protobuf.CodedOutputStream
            .computeUInt32SizeNoTag(days_.get(i));
        }
        size += dataSize;
        size += 1 * getDaysList().size();
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static msec.monitor.Monitor.ReqIPAttr parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static msec.monitor.Monitor.ReqIPAttr parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static msec.monitor.Monitor.ReqIPAttr parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static msec.monitor.Monitor.ReqIPAttr parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static msec.monitor.Monitor.ReqIPAttr parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static msec.monitor.Monitor.ReqIPAttr parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static msec.monitor.Monitor.ReqIPAttr parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static msec.monitor.Monitor.ReqIPAttr parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static msec.monitor.Monitor.ReqIPAttr parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static msec.monitor.Monitor.ReqIPAttr parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(msec.monitor.Monitor.ReqIPAttr prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code msec.monitor.ReqIPAttr}
     *
     * <pre>
     *批量获取单个IP的多天多属性数据
     * </pre>
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder>
       implements msec.monitor.Monitor.ReqIPAttrOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return msec.monitor.Monitor.internal_static_msec_monitor_ReqIPAttr_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return msec.monitor.Monitor.internal_static_msec_monitor_ReqIPAttr_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                msec.monitor.Monitor.ReqIPAttr.class, msec.monitor.Monitor.ReqIPAttr.Builder.class);
      }

      // Construct using msec.monitor.Monitor.ReqIPAttr.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getAttrsFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        ip_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        if (attrsBuilder_ == null) {
          attrs_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000002);
        } else {
          attrsBuilder_.clear();
        }
        days_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return msec.monitor.Monitor.internal_static_msec_monitor_ReqIPAttr_descriptor;
      }

      public msec.monitor.Monitor.ReqIPAttr getDefaultInstanceForType() {
        return msec.monitor.Monitor.ReqIPAttr.getDefaultInstance();
      }

      public msec.monitor.Monitor.ReqIPAttr build() {
        msec.monitor.Monitor.ReqIPAttr result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public msec.monitor.Monitor.ReqIPAttr buildPartial() {
        msec.monitor.Monitor.ReqIPAttr result = new msec.monitor.Monitor.ReqIPAttr(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.ip_ = ip_;
        if (attrsBuilder_ == null) {
          if (((bitField0_ & 0x00000002) == 0x00000002)) {
            attrs_ = java.util.Collections.unmodifiableList(attrs_);
            bitField0_ = (bitField0_ & ~0x00000002);
          }
          result.attrs_ = attrs_;
        } else {
          result.attrs_ = attrsBuilder_.build();
        }
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          days_ = java.util.Collections.unmodifiableList(days_);
          bitField0_ = (bitField0_ & ~0x00000004);
        }
        result.days_ = days_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof msec.monitor.Monitor.ReqIPAttr) {
          return mergeFrom((msec.monitor.Monitor.ReqIPAttr)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(msec.monitor.Monitor.ReqIPAttr other) {
        if (other == msec.monitor.Monitor.ReqIPAttr.getDefaultInstance()) return this;
        if (other.hasIp()) {
          bitField0_ |= 0x00000001;
          ip_ = other.ip_;
          onChanged();
        }
        if (attrsBuilder_ == null) {
          if (!other.attrs_.isEmpty()) {
            if (attrs_.isEmpty()) {
              attrs_ = other.attrs_;
              bitField0_ = (bitField0_ & ~0x00000002);
            } else {
              ensureAttrsIsMutable();
              attrs_.addAll(other.attrs_);
            }
            onChanged();
          }
        } else {
          if (!other.attrs_.isEmpty()) {
            if (attrsBuilder_.isEmpty()) {
              attrsBuilder_.dispose();
              attrsBuilder_ = null;
              attrs_ = other.attrs_;
              bitField0_ = (bitField0_ & ~0x00000002);
              attrsBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getAttrsFieldBuilder() : null;
            } else {
              attrsBuilder_.addAllMessages(other.attrs_);
            }
          }
        }
        if (!other.days_.isEmpty()) {
          if (days_.isEmpty()) {
            days_ = other.days_;
            bitField0_ = (bitField0_ & ~0x00000004);
          } else {
            ensureDaysIsMutable();
            days_.addAll(other.days_);
          }
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        msec.monitor.Monitor.ReqIPAttr parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (msec.monitor.Monitor.ReqIPAttr) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional string ip = 1;
      private java.lang.Object ip_ = "";
      /**
       * <code>optional string ip = 1;</code>
       */
      public boolean hasIp() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>optional string ip = 1;</code>
       */
      public java.lang.String getIp() {
        java.lang.Object ref = ip_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          ip_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>optional string ip = 1;</code>
       */
      public com.google.protobuf.ByteString
          getIpBytes() {
        java.lang.Object ref = ip_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          ip_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>optional string ip = 1;</code>
       */
      public Builder setIp(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        ip_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional string ip = 1;</code>
       */
      public Builder clearIp() {
        bitField0_ = (bitField0_ & ~0x00000001);
        ip_ = getDefaultInstance().getIp();
        onChanged();
        return this;
      }
      /**
       * <code>optional string ip = 1;</code>
       */
      public Builder setIpBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        ip_ = value;
        onChanged();
        return this;
      }

      // repeated .msec.monitor.IPData attrs = 2;
      private java.util.List<msec.monitor.Monitor.IPData> attrs_ =
        java.util.Collections.emptyList();
      private void ensureAttrsIsMutable() {
        if (!((bitField0_ & 0x00000002) == 0x00000002)) {
          attrs_ = new java.util.ArrayList<msec.monitor.Monitor.IPData>(attrs_);
          bitField0_ |= 0x00000002;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilder<
          msec.monitor.Monitor.IPData, msec.monitor.Monitor.IPData.Builder, msec.monitor.Monitor.IPDataOrBuilder> attrsBuilder_;

      /**
       * <code>repeated .msec.monitor.IPData attrs = 2;</code>
       */
      public java.util.List<msec.monitor.Monitor.IPData> getAttrsList() {
        if (attrsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(attrs_);
        } else {
          return attrsBuilder_.getMessageList();
        }
      }
      /**
       * <code>repeated .msec.monitor.IPData attrs = 2;</code>
       */
      public int getAttrsCount() {
        if (attrsBuilder_ == null) {
          return attrs_.size();
        } else {
          return attrsBuilder_.getCount();
        }
      }
      /**
       * <code>repeated .msec.monitor.IPData attrs = 2;</code>
       */
      public msec.monitor.Monitor.IPData getAttrs(int index) {
        if (attrsBuilder_ == null) {
          return attrs_.get(index);
        } else {
          return attrsBuilder_.getMessage(index);
        }
      }
      /**
       * <code>repeated .msec.monitor.IPData attrs = 2;</code>
       */
      public Builder setAttrs(
          int index, msec.monitor.Monitor.IPData value) {
        if (attrsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureAttrsIsMutable();
          attrs_.set(index, value);
          onChanged();
        } else {
          attrsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.IPData attrs = 2;</code>
       */
      public Builder setAttrs(
          int index, msec.monitor.Monitor.IPData.Builder builderForValue) {
        if (attrsBuilder_ == null) {
          ensureAttrsIsMutable();
          attrs_.set(index, builderForValue.build());
          onChanged();
        } else {
          attrsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.IPData attrs = 2;</code>
       */
      public Builder addAttrs(msec.monitor.Monitor.IPData value) {
        if (attrsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureAttrsIsMutable();
          attrs_.add(value);
          onChanged();
        } else {
          attrsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.IPData attrs = 2;</code>
       */
      public Builder addAttrs(
          int index, msec.monitor.Monitor.IPData value) {
        if (attrsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureAttrsIsMutable();
          attrs_.add(index, value);
          onChanged();
        } else {
          attrsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.IPData attrs = 2;</code>
       */
      public Builder addAttrs(
          msec.monitor.Monitor.IPData.Builder builderForValue) {
        if (attrsBuilder_ == null) {
          ensureAttrsIsMutable();
          attrs_.add(builderForValue.build());
          onChanged();
        } else {
          attrsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.IPData attrs = 2;</code>
       */
      public Builder addAttrs(
          int index, msec.monitor.Monitor.IPData.Builder builderForValue) {
        if (attrsBuilder_ == null) {
          ensureAttrsIsMutable();
          attrs_.add(index, builderForValue.build());
          onChanged();
        } else {
          attrsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.IPData attrs = 2;</code>
       */
      public Builder addAllAttrs(
          java.lang.Iterable<? extends msec.monitor.Monitor.IPData> values) {
        if (attrsBuilder_ == null) {
          ensureAttrsIsMutable();
          super.addAll(values, attrs_);
          onChanged();
        } else {
          attrsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.IPData attrs = 2;</code>
       */
      public Builder clearAttrs() {
        if (attrsBuilder_ == null) {
          attrs_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000002);
          onChanged();
        } else {
          attrsBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.IPData attrs = 2;</code>
       */
      public Builder removeAttrs(int index) {
        if (attrsBuilder_ == null) {
          ensureAttrsIsMutable();
          attrs_.remove(index);
          onChanged();
        } else {
          attrsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.IPData attrs = 2;</code>
       */
      public msec.monitor.Monitor.IPData.Builder getAttrsBuilder(
          int index) {
        return getAttrsFieldBuilder().getBuilder(index);
      }
      /**
       * <code>repeated .msec.monitor.IPData attrs = 2;</code>
       */
      public msec.monitor.Monitor.IPDataOrBuilder getAttrsOrBuilder(
          int index) {
        if (attrsBuilder_ == null) {
          return attrs_.get(index);  } else {
          return attrsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <code>repeated .msec.monitor.IPData attrs = 2;</code>
       */
      public java.util.List<? extends msec.monitor.Monitor.IPDataOrBuilder>
           getAttrsOrBuilderList() {
        if (attrsBuilder_ != null) {
          return attrsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(attrs_);
        }
      }
      /**
       * <code>repeated .msec.monitor.IPData attrs = 2;</code>
       */
      public msec.monitor.Monitor.IPData.Builder addAttrsBuilder() {
        return getAttrsFieldBuilder().addBuilder(
            msec.monitor.Monitor.IPData.getDefaultInstance());
      }
      /**
       * <code>repeated .msec.monitor.IPData attrs = 2;</code>
       */
      public msec.monitor.Monitor.IPData.Builder addAttrsBuilder(
          int index) {
        return getAttrsFieldBuilder().addBuilder(
            index, msec.monitor.Monitor.IPData.getDefaultInstance());
      }
      /**
       * <code>repeated .msec.monitor.IPData attrs = 2;</code>
       */
      public java.util.List<msec.monitor.Monitor.IPData.Builder>
           getAttrsBuilderList() {
        return getAttrsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          msec.monitor.Monitor.IPData, msec.monitor.Monitor.IPData.Builder, msec.monitor.Monitor.IPDataOrBuilder>
          getAttrsFieldBuilder() {
        if (attrsBuilder_ == null) {
          attrsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              msec.monitor.Monitor.IPData, msec.monitor.Monitor.IPData.Builder, msec.monitor.Monitor.IPDataOrBuilder>(
                  attrs_,
                  ((bitField0_ & 0x00000002) == 0x00000002),
                  getParentForChildren(),
                  isClean());
          attrs_ = null;
        }
        return attrsBuilder_;
      }

      // repeated uint32 days = 3;
      private java.util.List<java.lang.Integer> days_ = java.util.Collections.emptyList();
      private void ensureDaysIsMutable() {
        if (!((bitField0_ & 0x00000004) == 0x00000004)) {
          days_ = new java.util.ArrayList<java.lang.Integer>(days_);
          bitField0_ |= 0x00000004;
         }
      }
      /**
       * <code>repeated uint32 days = 3;</code>
       */
      public java.util.List<java.lang.Integer>
          getDaysList() {
        return java.util.Collections.unmodifiableList(days_);
      }
      /**
       * <code>repeated uint32 days = 3;</code>
       */
      public int getDaysCount() {
        return days_.size();
      }
      /**
       * <code>repeated uint32 days = 3;</code>
       */
      public int getDays(int index) {
        return days_.get(index);
      }
      /**
       * <code>repeated uint32 days = 3;</code>
       */
      public Builder setDays(
          int index, int value) {
        ensureDaysIsMutable();
        days_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated uint32 days = 3;</code>
       */
      public Builder addDays(int value) {
        ensureDaysIsMutable();
        days_.add(value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated uint32 days = 3;</code>
       */
      public Builder addAllDays(
          java.lang.Iterable<? extends java.lang.Integer> values) {
        ensureDaysIsMutable();
        super.addAll(values, days_);
        onChanged();
        return this;
      }
      /**
       * <code>repeated uint32 days = 3;</code>
       */
      public Builder clearDays() {
        days_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000004);
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:msec.monitor.ReqIPAttr)
    }

    static {
      defaultInstance = new ReqIPAttr(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:msec.monitor.ReqIPAttr)
  }

  public interface IPAttrDataOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional string servicename = 1;
    /**
     * <code>optional string servicename = 1;</code>
     */
    boolean hasServicename();
    /**
     * <code>optional string servicename = 1;</code>
     */
    java.lang.String getServicename();
    /**
     * <code>optional string servicename = 1;</code>
     */
    com.google.protobuf.ByteString
        getServicenameBytes();

    // optional string attrname = 2;
    /**
     * <code>optional string attrname = 2;</code>
     */
    boolean hasAttrname();
    /**
     * <code>optional string attrname = 2;</code>
     */
    java.lang.String getAttrname();
    /**
     * <code>optional string attrname = 2;</code>
     */
    com.google.protobuf.ByteString
        getAttrnameBytes();

    // optional uint32 day = 3;
    /**
     * <code>optional uint32 day = 3;</code>
     */
    boolean hasDay();
    /**
     * <code>optional uint32 day = 3;</code>
     */
    int getDay();

    // repeated uint32 values = 4;
    /**
     * <code>repeated uint32 values = 4;</code>
     */
    java.util.List<java.lang.Integer> getValuesList();
    /**
     * <code>repeated uint32 values = 4;</code>
     */
    int getValuesCount();
    /**
     * <code>repeated uint32 values = 4;</code>
     */
    int getValues(int index);
  }
  /**
   * Protobuf type {@code msec.monitor.IPAttrData}
   */
  public static final class IPAttrData extends
      com.google.protobuf.GeneratedMessage
      implements IPAttrDataOrBuilder {
    // Use IPAttrData.newBuilder() to construct.
    private IPAttrData(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private IPAttrData(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final IPAttrData defaultInstance;
    public static IPAttrData getDefaultInstance() {
      return defaultInstance;
    }

    public IPAttrData getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private IPAttrData(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              bitField0_ |= 0x00000001;
              servicename_ = input.readBytes();
              break;
            }
            case 18: {
              bitField0_ |= 0x00000002;
              attrname_ = input.readBytes();
              break;
            }
            case 24: {
              bitField0_ |= 0x00000004;
              day_ = input.readUInt32();
              break;
            }
            case 32: {
              if (!((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
                values_ = new java.util.ArrayList<java.lang.Integer>();
                mutable_bitField0_ |= 0x00000008;
              }
              values_.add(input.readUInt32());
              break;
            }
            case 34: {
              int length = input.readRawVarint32();
              int limit = input.pushLimit(length);
              if (!((mutable_bitField0_ & 0x00000008) == 0x00000008) && input.getBytesUntilLimit() > 0) {
                values_ = new java.util.ArrayList<java.lang.Integer>();
                mutable_bitField0_ |= 0x00000008;
              }
              while (input.getBytesUntilLimit() > 0) {
                values_.add(input.readUInt32());
              }
              input.popLimit(limit);
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
          values_ = java.util.Collections.unmodifiableList(values_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return msec.monitor.Monitor.internal_static_msec_monitor_IPAttrData_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return msec.monitor.Monitor.internal_static_msec_monitor_IPAttrData_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              msec.monitor.Monitor.IPAttrData.class, msec.monitor.Monitor.IPAttrData.Builder.class);
    }

    public static com.google.protobuf.Parser<IPAttrData> PARSER =
        new com.google.protobuf.AbstractParser<IPAttrData>() {
      public IPAttrData parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new IPAttrData(input, extensionRegistry);
      }
    };

    @java.lang.Override
    public com.google.protobuf.Parser<IPAttrData> getParserForType() {
      return PARSER;
    }

    private int bitField0_;
    // optional string servicename = 1;
    public static final int SERVICENAME_FIELD_NUMBER = 1;
    private java.lang.Object servicename_;
    /**
     * <code>optional string servicename = 1;</code>
     */
    public boolean hasServicename() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>optional string servicename = 1;</code>
     */
    public java.lang.String getServicename() {
      java.lang.Object ref = servicename_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          servicename_ = s;
        }
        return s;
      }
    }
    /**
     * <code>optional string servicename = 1;</code>
     */
    public com.google.protobuf.ByteString
        getServicenameBytes() {
      java.lang.Object ref = servicename_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        servicename_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    // optional string attrname = 2;
    public static final int ATTRNAME_FIELD_NUMBER = 2;
    private java.lang.Object attrname_;
    /**
     * <code>optional string attrname = 2;</code>
     */
    public boolean hasAttrname() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * <code>optional string attrname = 2;</code>
     */
    public java.lang.String getAttrname() {
      java.lang.Object ref = attrname_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          attrname_ = s;
        }
        return s;
      }
    }
    /**
     * <code>optional string attrname = 2;</code>
     */
    public com.google.protobuf.ByteString
        getAttrnameBytes() {
      java.lang.Object ref = attrname_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        attrname_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    // optional uint32 day = 3;
    public static final int DAY_FIELD_NUMBER = 3;
    private int day_;
    /**
     * <code>optional uint32 day = 3;</code>
     */
    public boolean hasDay() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * <code>optional uint32 day = 3;</code>
     */
    public int getDay() {
      return day_;
    }

    // repeated uint32 values = 4;
    public static final int VALUES_FIELD_NUMBER = 4;
    private java.util.List<java.lang.Integer> values_;
    /**
     * <code>repeated uint32 values = 4;</code>
     */
    public java.util.List<java.lang.Integer>
        getValuesList() {
      return values_;
    }
    /**
     * <code>repeated uint32 values = 4;</code>
     */
    public int getValuesCount() {
      return values_.size();
    }
    /**
     * <code>repeated uint32 values = 4;</code>
     */
    public int getValues(int index) {
      return values_.get(index);
    }

    private void initFields() {
      servicename_ = "";
      attrname_ = "";
      day_ = 0;
      values_ = java.util.Collections.emptyList();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBytes(1, getServicenameBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeBytes(2, getAttrnameBytes());
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeUInt32(3, day_);
      }
      for (int i = 0; i < values_.size(); i++) {
        output.writeUInt32(4, values_.get(i));
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(1, getServicenameBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(2, getAttrnameBytes());
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(3, day_);
      }
      {
        int dataSize = 0;
        for (int i = 0; i < values_.size(); i++) {
          dataSize += com.google.protobuf.CodedOutputStream
            .computeUInt32SizeNoTag(values_.get(i));
        }
        size += dataSize;
        size += 1 * getValuesList().size();
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static msec.monitor.Monitor.IPAttrData parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static msec.monitor.Monitor.IPAttrData parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static msec.monitor.Monitor.IPAttrData parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static msec.monitor.Monitor.IPAttrData parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static msec.monitor.Monitor.IPAttrData parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static msec.monitor.Monitor.IPAttrData parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static msec.monitor.Monitor.IPAttrData parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static msec.monitor.Monitor.IPAttrData parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static msec.monitor.Monitor.IPAttrData parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static msec.monitor.Monitor.IPAttrData parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(msec.monitor.Monitor.IPAttrData prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code msec.monitor.IPAttrData}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder>
       implements msec.monitor.Monitor.IPAttrDataOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return msec.monitor.Monitor.internal_static_msec_monitor_IPAttrData_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return msec.monitor.Monitor.internal_static_msec_monitor_IPAttrData_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                msec.monitor.Monitor.IPAttrData.class, msec.monitor.Monitor.IPAttrData.Builder.class);
      }

      // Construct using msec.monitor.Monitor.IPAttrData.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        servicename_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        attrname_ = "";
        bitField0_ = (bitField0_ & ~0x00000002);
        day_ = 0;
        bitField0_ = (bitField0_ & ~0x00000004);
        values_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000008);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return msec.monitor.Monitor.internal_static_msec_monitor_IPAttrData_descriptor;
      }

      public msec.monitor.Monitor.IPAttrData getDefaultInstanceForType() {
        return msec.monitor.Monitor.IPAttrData.getDefaultInstance();
      }

      public msec.monitor.Monitor.IPAttrData build() {
        msec.monitor.Monitor.IPAttrData result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public msec.monitor.Monitor.IPAttrData buildPartial() {
        msec.monitor.Monitor.IPAttrData result = new msec.monitor.Monitor.IPAttrData(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.servicename_ = servicename_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.attrname_ = attrname_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.day_ = day_;
        if (((bitField0_ & 0x00000008) == 0x00000008)) {
          values_ = java.util.Collections.unmodifiableList(values_);
          bitField0_ = (bitField0_ & ~0x00000008);
        }
        result.values_ = values_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof msec.monitor.Monitor.IPAttrData) {
          return mergeFrom((msec.monitor.Monitor.IPAttrData)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(msec.monitor.Monitor.IPAttrData other) {
        if (other == msec.monitor.Monitor.IPAttrData.getDefaultInstance()) return this;
        if (other.hasServicename()) {
          bitField0_ |= 0x00000001;
          servicename_ = other.servicename_;
          onChanged();
        }
        if (other.hasAttrname()) {
          bitField0_ |= 0x00000002;
          attrname_ = other.attrname_;
          onChanged();
        }
        if (other.hasDay()) {
          setDay(other.getDay());
        }
        if (!other.values_.isEmpty()) {
          if (values_.isEmpty()) {
            values_ = other.values_;
            bitField0_ = (bitField0_ & ~0x00000008);
          } else {
            ensureValuesIsMutable();
            values_.addAll(other.values_);
          }
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        msec.monitor.Monitor.IPAttrData parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (msec.monitor.Monitor.IPAttrData) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional string servicename = 1;
      private java.lang.Object servicename_ = "";
      /**
       * <code>optional string servicename = 1;</code>
       */
      public boolean hasServicename() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>optional string servicename = 1;</code>
       */
      public java.lang.String getServicename() {
        java.lang.Object ref = servicename_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          servicename_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>optional string servicename = 1;</code>
       */
      public com.google.protobuf.ByteString
          getServicenameBytes() {
        java.lang.Object ref = servicename_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          servicename_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>optional string servicename = 1;</code>
       */
      public Builder setServicename(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        servicename_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional string servicename = 1;</code>
       */
      public Builder clearServicename() {
        bitField0_ = (bitField0_ & ~0x00000001);
        servicename_ = getDefaultInstance().getServicename();
        onChanged();
        return this;
      }
      /**
       * <code>optional string servicename = 1;</code>
       */
      public Builder setServicenameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        servicename_ = value;
        onChanged();
        return this;
      }

      // optional string attrname = 2;
      private java.lang.Object attrname_ = "";
      /**
       * <code>optional string attrname = 2;</code>
       */
      public boolean hasAttrname() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>optional string attrname = 2;</code>
       */
      public java.lang.String getAttrname() {
        java.lang.Object ref = attrname_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          attrname_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>optional string attrname = 2;</code>
       */
      public com.google.protobuf.ByteString
          getAttrnameBytes() {
        java.lang.Object ref = attrname_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          attrname_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>optional string attrname = 2;</code>
       */
      public Builder setAttrname(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        attrname_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional string attrname = 2;</code>
       */
      public Builder clearAttrname() {
        bitField0_ = (bitField0_ & ~0x00000002);
        attrname_ = getDefaultInstance().getAttrname();
        onChanged();
        return this;
      }
      /**
       * <code>optional string attrname = 2;</code>
       */
      public Builder setAttrnameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        attrname_ = value;
        onChanged();
        return this;
      }

      // optional uint32 day = 3;
      private int day_ ;
      /**
       * <code>optional uint32 day = 3;</code>
       */
      public boolean hasDay() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * <code>optional uint32 day = 3;</code>
       */
      public int getDay() {
        return day_;
      }
      /**
       * <code>optional uint32 day = 3;</code>
       */
      public Builder setDay(int value) {
        bitField0_ |= 0x00000004;
        day_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional uint32 day = 3;</code>
       */
      public Builder clearDay() {
        bitField0_ = (bitField0_ & ~0x00000004);
        day_ = 0;
        onChanged();
        return this;
      }

      // repeated uint32 values = 4;
      private java.util.List<java.lang.Integer> values_ = java.util.Collections.emptyList();
      private void ensureValuesIsMutable() {
        if (!((bitField0_ & 0x00000008) == 0x00000008)) {
          values_ = new java.util.ArrayList<java.lang.Integer>(values_);
          bitField0_ |= 0x00000008;
         }
      }
      /**
       * <code>repeated uint32 values = 4;</code>
       */
      public java.util.List<java.lang.Integer>
          getValuesList() {
        return java.util.Collections.unmodifiableList(values_);
      }
      /**
       * <code>repeated uint32 values = 4;</code>
       */
      public int getValuesCount() {
        return values_.size();
      }
      /**
       * <code>repeated uint32 values = 4;</code>
       */
      public int getValues(int index) {
        return values_.get(index);
      }
      /**
       * <code>repeated uint32 values = 4;</code>
       */
      public Builder setValues(
          int index, int value) {
        ensureValuesIsMutable();
        values_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated uint32 values = 4;</code>
       */
      public Builder addValues(int value) {
        ensureValuesIsMutable();
        values_.add(value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated uint32 values = 4;</code>
       */
      public Builder addAllValues(
          java.lang.Iterable<? extends java.lang.Integer> values) {
        ensureValuesIsMutable();
        super.addAll(values, values_);
        onChanged();
        return this;
      }
      /**
       * <code>repeated uint32 values = 4;</code>
       */
      public Builder clearValues() {
        values_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000008);
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:msec.monitor.IPAttrData)
    }

    static {
      defaultInstance = new IPAttrData(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:msec.monitor.IPAttrData)
  }

  public interface RespIPAttrOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // repeated .msec.monitor.IPAttrData data = 1;
    /**
     * <code>repeated .msec.monitor.IPAttrData data = 1;</code>
     */
    java.util.List<msec.monitor.Monitor.IPAttrData>
        getDataList();
    /**
     * <code>repeated .msec.monitor.IPAttrData data = 1;</code>
     */
    msec.monitor.Monitor.IPAttrData getData(int index);
    /**
     * <code>repeated .msec.monitor.IPAttrData data = 1;</code>
     */
    int getDataCount();
    /**
     * <code>repeated .msec.monitor.IPAttrData data = 1;</code>
     */
    java.util.List<? extends msec.monitor.Monitor.IPAttrDataOrBuilder>
        getDataOrBuilderList();
    /**
     * <code>repeated .msec.monitor.IPAttrData data = 1;</code>
     */
    msec.monitor.Monitor.IPAttrDataOrBuilder getDataOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code msec.monitor.RespIPAttr}
   */
  public static final class RespIPAttr extends
      com.google.protobuf.GeneratedMessage
      implements RespIPAttrOrBuilder {
    // Use RespIPAttr.newBuilder() to construct.
    private RespIPAttr(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private RespIPAttr(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final RespIPAttr defaultInstance;
    public static RespIPAttr getDefaultInstance() {
      return defaultInstance;
    }

    public RespIPAttr getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private RespIPAttr(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
                data_ = new java.util.ArrayList<msec.monitor.Monitor.IPAttrData>();
                mutable_bitField0_ |= 0x00000001;
              }
              data_.add(input.readMessage(msec.monitor.Monitor.IPAttrData.PARSER, extensionRegistry));
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
          data_ = java.util.Collections.unmodifiableList(data_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return msec.monitor.Monitor.internal_static_msec_monitor_RespIPAttr_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return msec.monitor.Monitor.internal_static_msec_monitor_RespIPAttr_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              msec.monitor.Monitor.RespIPAttr.class, msec.monitor.Monitor.RespIPAttr.Builder.class);
    }

    public static com.google.protobuf.Parser<RespIPAttr> PARSER =
        new com.google.protobuf.AbstractParser<RespIPAttr>() {
      public RespIPAttr parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new RespIPAttr(input, extensionRegistry);
      }
    };

    @java.lang.Override
    public com.google.protobuf.Parser<RespIPAttr> getParserForType() {
      return PARSER;
    }

    // repeated .msec.monitor.IPAttrData data = 1;
    public static final int DATA_FIELD_NUMBER = 1;
    private java.util.List<msec.monitor.Monitor.IPAttrData> data_;
    /**
     * <code>repeated .msec.monitor.IPAttrData data = 1;</code>
     */
    public java.util.List<msec.monitor.Monitor.IPAttrData> getDataList() {
      return data_;
    }
    /**
     * <code>repeated .msec.monitor.IPAttrData data = 1;</code>
     */
    public java.util.List<? extends msec.monitor.Monitor.IPAttrDataOrBuilder>
        getDataOrBuilderList() {
      return data_;
    }
    /**
     * <code>repeated .msec.monitor.IPAttrData data = 1;</code>
     */
    public int getDataCount() {
      return data_.size();
    }
    /**
     * <code>repeated .msec.monitor.IPAttrData data = 1;</code>
     */
    public msec.monitor.Monitor.IPAttrData getData(int index) {
      return data_.get(index);
    }
    /**
     * <code>repeated .msec.monitor.IPAttrData data = 1;</code>
     */
    public msec.monitor.Monitor.IPAttrDataOrBuilder getDataOrBuilder(
        int index) {
      return data_.get(index);
    }

    private void initFields() {
      data_ = java.util.Collections.emptyList();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      for (int i = 0; i < data_.size(); i++) {
        output.writeMessage(1, data_.get(i));
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      for (int i = 0; i < data_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, data_.get(i));
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static msec.monitor.Monitor.RespIPAttr parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static msec.monitor.Monitor.RespIPAttr parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static msec.monitor.Monitor.RespIPAttr parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static msec.monitor.Monitor.RespIPAttr parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static msec.monitor.Monitor.RespIPAttr parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static msec.monitor.Monitor.RespIPAttr parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static msec.monitor.Monitor.RespIPAttr parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static msec.monitor.Monitor.RespIPAttr parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static msec.monitor.Monitor.RespIPAttr parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static msec.monitor.Monitor.RespIPAttr parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(msec.monitor.Monitor.RespIPAttr prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code msec.monitor.RespIPAttr}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder>
       implements msec.monitor.Monitor.RespIPAttrOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return msec.monitor.Monitor.internal_static_msec_monitor_RespIPAttr_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return msec.monitor.Monitor.internal_static_msec_monitor_RespIPAttr_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                msec.monitor.Monitor.RespIPAttr.class, msec.monitor.Monitor.RespIPAttr.Builder.class);
      }

      // Construct using msec.monitor.Monitor.RespIPAttr.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getDataFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        if (dataBuilder_ == null) {
          data_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
        } else {
          dataBuilder_.clear();
        }
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return msec.monitor.Monitor.internal_static_msec_monitor_RespIPAttr_descriptor;
      }

      public msec.monitor.Monitor.RespIPAttr getDefaultInstanceForType() {
        return msec.monitor.Monitor.RespIPAttr.getDefaultInstance();
      }

      public msec.monitor.Monitor.RespIPAttr build() {
        msec.monitor.Monitor.RespIPAttr result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public msec.monitor.Monitor.RespIPAttr buildPartial() {
        msec.monitor.Monitor.RespIPAttr result = new msec.monitor.Monitor.RespIPAttr(this);
        int from_bitField0_ = bitField0_;
        if (dataBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001)) {
            data_ = java.util.Collections.unmodifiableList(data_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.data_ = data_;
        } else {
          result.data_ = dataBuilder_.build();
        }
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof msec.monitor.Monitor.RespIPAttr) {
          return mergeFrom((msec.monitor.Monitor.RespIPAttr)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(msec.monitor.Monitor.RespIPAttr other) {
        if (other == msec.monitor.Monitor.RespIPAttr.getDefaultInstance()) return this;
        if (dataBuilder_ == null) {
          if (!other.data_.isEmpty()) {
            if (data_.isEmpty()) {
              data_ = other.data_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureDataIsMutable();
              data_.addAll(other.data_);
            }
            onChanged();
          }
        } else {
          if (!other.data_.isEmpty()) {
            if (dataBuilder_.isEmpty()) {
              dataBuilder_.dispose();
              dataBuilder_ = null;
              data_ = other.data_;
              bitField0_ = (bitField0_ & ~0x00000001);
              dataBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getDataFieldBuilder() : null;
            } else {
              dataBuilder_.addAllMessages(other.data_);
            }
          }
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        msec.monitor.Monitor.RespIPAttr parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (msec.monitor.Monitor.RespIPAttr) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // repeated .msec.monitor.IPAttrData data = 1;
      private java.util.List<msec.monitor.Monitor.IPAttrData> data_ =
        java.util.Collections.emptyList();
      private void ensureDataIsMutable() {
        if (!((bitField0_ & 0x00000001) == 0x00000001)) {
          data_ = new java.util.ArrayList<msec.monitor.Monitor.IPAttrData>(data_);
          bitField0_ |= 0x00000001;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilder<
          msec.monitor.Monitor.IPAttrData, msec.monitor.Monitor.IPAttrData.Builder, msec.monitor.Monitor.IPAttrDataOrBuilder> dataBuilder_;

      /**
       * <code>repeated .msec.monitor.IPAttrData data = 1;</code>
       */
      public java.util.List<msec.monitor.Monitor.IPAttrData> getDataList() {
        if (dataBuilder_ == null) {
          return java.util.Collections.unmodifiableList(data_);
        } else {
          return dataBuilder_.getMessageList();
        }
      }
      /**
       * <code>repeated .msec.monitor.IPAttrData data = 1;</code>
       */
      public int getDataCount() {
        if (dataBuilder_ == null) {
          return data_.size();
        } else {
          return dataBuilder_.getCount();
        }
      }
      /**
       * <code>repeated .msec.monitor.IPAttrData data = 1;</code>
       */
      public msec.monitor.Monitor.IPAttrData getData(int index) {
        if (dataBuilder_ == null) {
          return data_.get(index);
        } else {
          return dataBuilder_.getMessage(index);
        }
      }
      /**
       * <code>repeated .msec.monitor.IPAttrData data = 1;</code>
       */
      public Builder setData(
          int index, msec.monitor.Monitor.IPAttrData value) {
        if (dataBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureDataIsMutable();
          data_.set(index, value);
          onChanged();
        } else {
          dataBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.IPAttrData data = 1;</code>
       */
      public Builder setData(
          int index, msec.monitor.Monitor.IPAttrData.Builder builderForValue) {
        if (dataBuilder_ == null) {
          ensureDataIsMutable();
          data_.set(index, builderForValue.build());
          onChanged();
        } else {
          dataBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.IPAttrData data = 1;</code>
       */
      public Builder addData(msec.monitor.Monitor.IPAttrData value) {
        if (dataBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureDataIsMutable();
          data_.add(value);
          onChanged();
        } else {
          dataBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.IPAttrData data = 1;</code>
       */
      public Builder addData(
          int index, msec.monitor.Monitor.IPAttrData value) {
        if (dataBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureDataIsMutable();
          data_.add(index, value);
          onChanged();
        } else {
          dataBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.IPAttrData data = 1;</code>
       */
      public Builder addData(
          msec.monitor.Monitor.IPAttrData.Builder builderForValue) {
        if (dataBuilder_ == null) {
          ensureDataIsMutable();
          data_.add(builderForValue.build());
          onChanged();
        } else {
          dataBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.IPAttrData data = 1;</code>
       */
      public Builder addData(
          int index, msec.monitor.Monitor.IPAttrData.Builder builderForValue) {
        if (dataBuilder_ == null) {
          ensureDataIsMutable();
          data_.add(index, builderForValue.build());
          onChanged();
        } else {
          dataBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.IPAttrData data = 1;</code>
       */
      public Builder addAllData(
          java.lang.Iterable<? extends msec.monitor.Monitor.IPAttrData> values) {
        if (dataBuilder_ == null) {
          ensureDataIsMutable();
          super.addAll(values, data_);
          onChanged();
        } else {
          dataBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.IPAttrData data = 1;</code>
       */
      public Builder clearData() {
        if (dataBuilder_ == null) {
          data_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          dataBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.IPAttrData data = 1;</code>
       */
      public Builder removeData(int index) {
        if (dataBuilder_ == null) {
          ensureDataIsMutable();
          data_.remove(index);
          onChanged();
        } else {
          dataBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.IPAttrData data = 1;</code>
       */
      public msec.monitor.Monitor.IPAttrData.Builder getDataBuilder(
          int index) {
        return getDataFieldBuilder().getBuilder(index);
      }
      /**
       * <code>repeated .msec.monitor.IPAttrData data = 1;</code>
       */
      public msec.monitor.Monitor.IPAttrDataOrBuilder getDataOrBuilder(
          int index) {
        if (dataBuilder_ == null) {
          return data_.get(index);  } else {
          return dataBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <code>repeated .msec.monitor.IPAttrData data = 1;</code>
       */
      public java.util.List<? extends msec.monitor.Monitor.IPAttrDataOrBuilder>
           getDataOrBuilderList() {
        if (dataBuilder_ != null) {
          return dataBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(data_);
        }
      }
      /**
       * <code>repeated .msec.monitor.IPAttrData data = 1;</code>
       */
      public msec.monitor.Monitor.IPAttrData.Builder addDataBuilder() {
        return getDataFieldBuilder().addBuilder(
            msec.monitor.Monitor.IPAttrData.getDefaultInstance());
      }
      /**
       * <code>repeated .msec.monitor.IPAttrData data = 1;</code>
       */
      public msec.monitor.Monitor.IPAttrData.Builder addDataBuilder(
          int index) {
        return getDataFieldBuilder().addBuilder(
            index, msec.monitor.Monitor.IPAttrData.getDefaultInstance());
      }
      /**
       * <code>repeated .msec.monitor.IPAttrData data = 1;</code>
       */
      public java.util.List<msec.monitor.Monitor.IPAttrData.Builder>
           getDataBuilderList() {
        return getDataFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          msec.monitor.Monitor.IPAttrData, msec.monitor.Monitor.IPAttrData.Builder, msec.monitor.Monitor.IPAttrDataOrBuilder>
          getDataFieldBuilder() {
        if (dataBuilder_ == null) {
          dataBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              msec.monitor.Monitor.IPAttrData, msec.monitor.Monitor.IPAttrData.Builder, msec.monitor.Monitor.IPAttrDataOrBuilder>(
                  data_,
                  ((bitField0_ & 0x00000001) == 0x00000001),
                  getParentForChildren(),
                  isClean());
          data_ = null;
        }
        return dataBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:msec.monitor.RespIPAttr)
    }

    static {
      defaultInstance = new RespIPAttr(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:msec.monitor.RespIPAttr)
  }

  public interface ReqSetAlarmAttrOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional string servicename = 1;
    /**
     * <code>optional string servicename = 1;</code>
     */
    boolean hasServicename();
    /**
     * <code>optional string servicename = 1;</code>
     */
    java.lang.String getServicename();
    /**
     * <code>optional string servicename = 1;</code>
     */
    com.google.protobuf.ByteString
        getServicenameBytes();

    // optional string attrname = 2;
    /**
     * <code>optional string attrname = 2;</code>
     */
    boolean hasAttrname();
    /**
     * <code>optional string attrname = 2;</code>
     */
    java.lang.String getAttrname();
    /**
     * <code>optional string attrname = 2;</code>
     */
    com.google.protobuf.ByteString
        getAttrnameBytes();

    // optional uint32 max = 3;
    /**
     * <code>optional uint32 max = 3;</code>
     *
     * <pre>
     *最大值
     * </pre>
     */
    boolean hasMax();
    /**
     * <code>optional uint32 max = 3;</code>
     *
     * <pre>
     *最大值
     * </pre>
     */
    int getMax();

    // optional uint32 min = 4;
    /**
     * <code>optional uint32 min = 4;</code>
     *
     * <pre>
     *最小值
     * </pre>
     */
    boolean hasMin();
    /**
     * <code>optional uint32 min = 4;</code>
     *
     * <pre>
     *最小值
     * </pre>
     */
    int getMin();

    // optional uint32 diff = 5;
    /**
     * <code>optional uint32 diff = 5;</code>
     *
     * <pre>
     *波动值
     * </pre>
     */
    boolean hasDiff();
    /**
     * <code>optional uint32 diff = 5;</code>
     *
     * <pre>
     *波动值
     * </pre>
     */
    int getDiff();

    // optional uint32 diff_percent = 6;
    /**
     * <code>optional uint32 diff_percent = 6;</code>
     *
     * <pre>
     *波动比率
     * </pre>
     */
    boolean hasDiffPercent();
    /**
     * <code>optional uint32 diff_percent = 6;</code>
     *
     * <pre>
     *波动比率
     * </pre>
     */
    int getDiffPercent();
  }
  /**
   * Protobuf type {@code msec.monitor.ReqSetAlarmAttr}
   *
   * <pre>
   *新增或更新单个告警监控项
   * </pre>
   */
  public static final class ReqSetAlarmAttr extends
      com.google.protobuf.GeneratedMessage
      implements ReqSetAlarmAttrOrBuilder {
    // Use ReqSetAlarmAttr.newBuilder() to construct.
    private ReqSetAlarmAttr(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private ReqSetAlarmAttr(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final ReqSetAlarmAttr defaultInstance;
    public static ReqSetAlarmAttr getDefaultInstance() {
      return defaultInstance;
    }

    public ReqSetAlarmAttr getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private ReqSetAlarmAttr(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              bitField0_ |= 0x00000001;
              servicename_ = input.readBytes();
              break;
            }
            case 18: {
              bitField0_ |= 0x00000002;
              attrname_ = input.readBytes();
              break;
            }
            case 24: {
              bitField0_ |= 0x00000004;
              max_ = input.readUInt32();
              break;
            }
            case 32: {
              bitField0_ |= 0x00000008;
              min_ = input.readUInt32();
              break;
            }
            case 40: {
              bitField0_ |= 0x00000010;
              diff_ = input.readUInt32();
              break;
            }
            case 48: {
              bitField0_ |= 0x00000020;
              diffPercent_ = input.readUInt32();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return msec.monitor.Monitor.internal_static_msec_monitor_ReqSetAlarmAttr_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return msec.monitor.Monitor.internal_static_msec_monitor_ReqSetAlarmAttr_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              msec.monitor.Monitor.ReqSetAlarmAttr.class, msec.monitor.Monitor.ReqSetAlarmAttr.Builder.class);
    }

    public static com.google.protobuf.Parser<ReqSetAlarmAttr> PARSER =
        new com.google.protobuf.AbstractParser<ReqSetAlarmAttr>() {
      public ReqSetAlarmAttr parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new ReqSetAlarmAttr(input, extensionRegistry);
      }
    };

    @java.lang.Override
    public com.google.protobuf.Parser<ReqSetAlarmAttr> getParserForType() {
      return PARSER;
    }

    private int bitField0_;
    // optional string servicename = 1;
    public static final int SERVICENAME_FIELD_NUMBER = 1;
    private java.lang.Object servicename_;
    /**
     * <code>optional string servicename = 1;</code>
     */
    public boolean hasServicename() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>optional string servicename = 1;</code>
     */
    public java.lang.String getServicename() {
      java.lang.Object ref = servicename_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          servicename_ = s;
        }
        return s;
      }
    }
    /**
     * <code>optional string servicename = 1;</code>
     */
    public com.google.protobuf.ByteString
        getServicenameBytes() {
      java.lang.Object ref = servicename_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        servicename_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    // optional string attrname = 2;
    public static final int ATTRNAME_FIELD_NUMBER = 2;
    private java.lang.Object attrname_;
    /**
     * <code>optional string attrname = 2;</code>
     */
    public boolean hasAttrname() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * <code>optional string attrname = 2;</code>
     */
    public java.lang.String getAttrname() {
      java.lang.Object ref = attrname_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          attrname_ = s;
        }
        return s;
      }
    }
    /**
     * <code>optional string attrname = 2;</code>
     */
    public com.google.protobuf.ByteString
        getAttrnameBytes() {
      java.lang.Object ref = attrname_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        attrname_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    // optional uint32 max = 3;
    public static final int MAX_FIELD_NUMBER = 3;
    private int max_;
    /**
     * <code>optional uint32 max = 3;</code>
     *
     * <pre>
     *最大值
     * </pre>
     */
    public boolean hasMax() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * <code>optional uint32 max = 3;</code>
     *
     * <pre>
     *最大值
     * </pre>
     */
    public int getMax() {
      return max_;
    }

    // optional uint32 min = 4;
    public static final int MIN_FIELD_NUMBER = 4;
    private int min_;
    /**
     * <code>optional uint32 min = 4;</code>
     *
     * <pre>
     *最小值
     * </pre>
     */
    public boolean hasMin() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * <code>optional uint32 min = 4;</code>
     *
     * <pre>
     *最小值
     * </pre>
     */
    public int getMin() {
      return min_;
    }

    // optional uint32 diff = 5;
    public static final int DIFF_FIELD_NUMBER = 5;
    private int diff_;
    /**
     * <code>optional uint32 diff = 5;</code>
     *
     * <pre>
     *波动值
     * </pre>
     */
    public boolean hasDiff() {
      return ((bitField0_ & 0x00000010) == 0x00000010);
    }
    /**
     * <code>optional uint32 diff = 5;</code>
     *
     * <pre>
     *波动值
     * </pre>
     */
    public int getDiff() {
      return diff_;
    }

    // optional uint32 diff_percent = 6;
    public static final int DIFF_PERCENT_FIELD_NUMBER = 6;
    private int diffPercent_;
    /**
     * <code>optional uint32 diff_percent = 6;</code>
     *
     * <pre>
     *波动比率
     * </pre>
     */
    public boolean hasDiffPercent() {
      return ((bitField0_ & 0x00000020) == 0x00000020);
    }
    /**
     * <code>optional uint32 diff_percent = 6;</code>
     *
     * <pre>
     *波动比率
     * </pre>
     */
    public int getDiffPercent() {
      return diffPercent_;
    }

    private void initFields() {
      servicename_ = "";
      attrname_ = "";
      max_ = 0;
      min_ = 0;
      diff_ = 0;
      diffPercent_ = 0;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBytes(1, getServicenameBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeBytes(2, getAttrnameBytes());
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeUInt32(3, max_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeUInt32(4, min_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        output.writeUInt32(5, diff_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        output.writeUInt32(6, diffPercent_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(1, getServicenameBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(2, getAttrnameBytes());
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(3, max_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(4, min_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(5, diff_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(6, diffPercent_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static msec.monitor.Monitor.ReqSetAlarmAttr parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static msec.monitor.Monitor.ReqSetAlarmAttr parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static msec.monitor.Monitor.ReqSetAlarmAttr parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static msec.monitor.Monitor.ReqSetAlarmAttr parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static msec.monitor.Monitor.ReqSetAlarmAttr parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static msec.monitor.Monitor.ReqSetAlarmAttr parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static msec.monitor.Monitor.ReqSetAlarmAttr parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static msec.monitor.Monitor.ReqSetAlarmAttr parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static msec.monitor.Monitor.ReqSetAlarmAttr parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static msec.monitor.Monitor.ReqSetAlarmAttr parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(msec.monitor.Monitor.ReqSetAlarmAttr prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code msec.monitor.ReqSetAlarmAttr}
     *
     * <pre>
     *新增或更新单个告警监控项
     * </pre>
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder>
       implements msec.monitor.Monitor.ReqSetAlarmAttrOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return msec.monitor.Monitor.internal_static_msec_monitor_ReqSetAlarmAttr_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return msec.monitor.Monitor.internal_static_msec_monitor_ReqSetAlarmAttr_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                msec.monitor.Monitor.ReqSetAlarmAttr.class, msec.monitor.Monitor.ReqSetAlarmAttr.Builder.class);
      }

      // Construct using msec.monitor.Monitor.ReqSetAlarmAttr.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        servicename_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        attrname_ = "";
        bitField0_ = (bitField0_ & ~0x00000002);
        max_ = 0;
        bitField0_ = (bitField0_ & ~0x00000004);
        min_ = 0;
        bitField0_ = (bitField0_ & ~0x00000008);
        diff_ = 0;
        bitField0_ = (bitField0_ & ~0x00000010);
        diffPercent_ = 0;
        bitField0_ = (bitField0_ & ~0x00000020);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return msec.monitor.Monitor.internal_static_msec_monitor_ReqSetAlarmAttr_descriptor;
      }

      public msec.monitor.Monitor.ReqSetAlarmAttr getDefaultInstanceForType() {
        return msec.monitor.Monitor.ReqSetAlarmAttr.getDefaultInstance();
      }

      public msec.monitor.Monitor.ReqSetAlarmAttr build() {
        msec.monitor.Monitor.ReqSetAlarmAttr result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public msec.monitor.Monitor.ReqSetAlarmAttr buildPartial() {
        msec.monitor.Monitor.ReqSetAlarmAttr result = new msec.monitor.Monitor.ReqSetAlarmAttr(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.servicename_ = servicename_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.attrname_ = attrname_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.max_ = max_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        result.min_ = min_;
        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
          to_bitField0_ |= 0x00000010;
        }
        result.diff_ = diff_;
        if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
          to_bitField0_ |= 0x00000020;
        }
        result.diffPercent_ = diffPercent_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof msec.monitor.Monitor.ReqSetAlarmAttr) {
          return mergeFrom((msec.monitor.Monitor.ReqSetAlarmAttr)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(msec.monitor.Monitor.ReqSetAlarmAttr other) {
        if (other == msec.monitor.Monitor.ReqSetAlarmAttr.getDefaultInstance()) return this;
        if (other.hasServicename()) {
          bitField0_ |= 0x00000001;
          servicename_ = other.servicename_;
          onChanged();
        }
        if (other.hasAttrname()) {
          bitField0_ |= 0x00000002;
          attrname_ = other.attrname_;
          onChanged();
        }
        if (other.hasMax()) {
          setMax(other.getMax());
        }
        if (other.hasMin()) {
          setMin(other.getMin());
        }
        if (other.hasDiff()) {
          setDiff(other.getDiff());
        }
        if (other.hasDiffPercent()) {
          setDiffPercent(other.getDiffPercent());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        msec.monitor.Monitor.ReqSetAlarmAttr parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (msec.monitor.Monitor.ReqSetAlarmAttr) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional string servicename = 1;
      private java.lang.Object servicename_ = "";
      /**
       * <code>optional string servicename = 1;</code>
       */
      public boolean hasServicename() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>optional string servicename = 1;</code>
       */
      public java.lang.String getServicename() {
        java.lang.Object ref = servicename_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          servicename_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>optional string servicename = 1;</code>
       */
      public com.google.protobuf.ByteString
          getServicenameBytes() {
        java.lang.Object ref = servicename_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          servicename_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>optional string servicename = 1;</code>
       */
      public Builder setServicename(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        servicename_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional string servicename = 1;</code>
       */
      public Builder clearServicename() {
        bitField0_ = (bitField0_ & ~0x00000001);
        servicename_ = getDefaultInstance().getServicename();
        onChanged();
        return this;
      }
      /**
       * <code>optional string servicename = 1;</code>
       */
      public Builder setServicenameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        servicename_ = value;
        onChanged();
        return this;
      }

      // optional string attrname = 2;
      private java.lang.Object attrname_ = "";
      /**
       * <code>optional string attrname = 2;</code>
       */
      public boolean hasAttrname() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>optional string attrname = 2;</code>
       */
      public java.lang.String getAttrname() {
        java.lang.Object ref = attrname_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          attrname_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>optional string attrname = 2;</code>
       */
      public com.google.protobuf.ByteString
          getAttrnameBytes() {
        java.lang.Object ref = attrname_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          attrname_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>optional string attrname = 2;</code>
       */
      public Builder setAttrname(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        attrname_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional string attrname = 2;</code>
       */
      public Builder clearAttrname() {
        bitField0_ = (bitField0_ & ~0x00000002);
        attrname_ = getDefaultInstance().getAttrname();
        onChanged();
        return this;
      }
      /**
       * <code>optional string attrname = 2;</code>
       */
      public Builder setAttrnameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        attrname_ = value;
        onChanged();
        return this;
      }

      // optional uint32 max = 3;
      private int max_ ;
      /**
       * <code>optional uint32 max = 3;</code>
       *
       * <pre>
       *最大值
       * </pre>
       */
      public boolean hasMax() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * <code>optional uint32 max = 3;</code>
       *
       * <pre>
       *最大值
       * </pre>
       */
      public int getMax() {
        return max_;
      }
      /**
       * <code>optional uint32 max = 3;</code>
       *
       * <pre>
       *最大值
       * </pre>
       */
      public Builder setMax(int value) {
        bitField0_ |= 0x00000004;
        max_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional uint32 max = 3;</code>
       *
       * <pre>
       *最大值
       * </pre>
       */
      public Builder clearMax() {
        bitField0_ = (bitField0_ & ~0x00000004);
        max_ = 0;
        onChanged();
        return this;
      }

      // optional uint32 min = 4;
      private int min_ ;
      /**
       * <code>optional uint32 min = 4;</code>
       *
       * <pre>
       *最小值
       * </pre>
       */
      public boolean hasMin() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * <code>optional uint32 min = 4;</code>
       *
       * <pre>
       *最小值
       * </pre>
       */
      public int getMin() {
        return min_;
      }
      /**
       * <code>optional uint32 min = 4;</code>
       *
       * <pre>
       *最小值
       * </pre>
       */
      public Builder setMin(int value) {
        bitField0_ |= 0x00000008;
        min_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional uint32 min = 4;</code>
       *
       * <pre>
       *最小值
       * </pre>
       */
      public Builder clearMin() {
        bitField0_ = (bitField0_ & ~0x00000008);
        min_ = 0;
        onChanged();
        return this;
      }

      // optional uint32 diff = 5;
      private int diff_ ;
      /**
       * <code>optional uint32 diff = 5;</code>
       *
       * <pre>
       *波动值
       * </pre>
       */
      public boolean hasDiff() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      /**
       * <code>optional uint32 diff = 5;</code>
       *
       * <pre>
       *波动值
       * </pre>
       */
      public int getDiff() {
        return diff_;
      }
      /**
       * <code>optional uint32 diff = 5;</code>
       *
       * <pre>
       *波动值
       * </pre>
       */
      public Builder setDiff(int value) {
        bitField0_ |= 0x00000010;
        diff_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional uint32 diff = 5;</code>
       *
       * <pre>
       *波动值
       * </pre>
       */
      public Builder clearDiff() {
        bitField0_ = (bitField0_ & ~0x00000010);
        diff_ = 0;
        onChanged();
        return this;
      }

      // optional uint32 diff_percent = 6;
      private int diffPercent_ ;
      /**
       * <code>optional uint32 diff_percent = 6;</code>
       *
       * <pre>
       *波动比率
       * </pre>
       */
      public boolean hasDiffPercent() {
        return ((bitField0_ & 0x00000020) == 0x00000020);
      }
      /**
       * <code>optional uint32 diff_percent = 6;</code>
       *
       * <pre>
       *波动比率
       * </pre>
       */
      public int getDiffPercent() {
        return diffPercent_;
      }
      /**
       * <code>optional uint32 diff_percent = 6;</code>
       *
       * <pre>
       *波动比率
       * </pre>
       */
      public Builder setDiffPercent(int value) {
        bitField0_ |= 0x00000020;
        diffPercent_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional uint32 diff_percent = 6;</code>
       *
       * <pre>
       *波动比率
       * </pre>
       */
      public Builder clearDiffPercent() {
        bitField0_ = (bitField0_ & ~0x00000020);
        diffPercent_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:msec.monitor.ReqSetAlarmAttr)
    }

    static {
      defaultInstance = new ReqSetAlarmAttr(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:msec.monitor.ReqSetAlarmAttr)
  }

  public interface RespSetAlarmAttrOrBuilder
      extends com.google.protobuf.MessageOrBuilder {
  }
  /**
   * Protobuf type {@code msec.monitor.RespSetAlarmAttr}
   *
   * <pre>
   *通过包头result确认是否成功
   *特殊返回码：
   *	1: 该服务的监控项已经到达上限
   * </pre>
   */
  public static final class RespSetAlarmAttr extends
      com.google.protobuf.GeneratedMessage
      implements RespSetAlarmAttrOrBuilder {
    // Use RespSetAlarmAttr.newBuilder() to construct.
    private RespSetAlarmAttr(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private RespSetAlarmAttr(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final RespSetAlarmAttr defaultInstance;
    public static RespSetAlarmAttr getDefaultInstance() {
      return defaultInstance;
    }

    public RespSetAlarmAttr getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private RespSetAlarmAttr(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return msec.monitor.Monitor.internal_static_msec_monitor_RespSetAlarmAttr_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return msec.monitor.Monitor.internal_static_msec_monitor_RespSetAlarmAttr_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              msec.monitor.Monitor.RespSetAlarmAttr.class, msec.monitor.Monitor.RespSetAlarmAttr.Builder.class);
    }

    public static com.google.protobuf.Parser<RespSetAlarmAttr> PARSER =
        new com.google.protobuf.AbstractParser<RespSetAlarmAttr>() {
      public RespSetAlarmAttr parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new RespSetAlarmAttr(input, extensionRegistry);
      }
    };

    @java.lang.Override
    public com.google.protobuf.Parser<RespSetAlarmAttr> getParserForType() {
      return PARSER;
    }

    private void initFields() {
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static msec.monitor.Monitor.RespSetAlarmAttr parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static msec.monitor.Monitor.RespSetAlarmAttr parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static msec.monitor.Monitor.RespSetAlarmAttr parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static msec.monitor.Monitor.RespSetAlarmAttr parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static msec.monitor.Monitor.RespSetAlarmAttr parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static msec.monitor.Monitor.RespSetAlarmAttr parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static msec.monitor.Monitor.RespSetAlarmAttr parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static msec.monitor.Monitor.RespSetAlarmAttr parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static msec.monitor.Monitor.RespSetAlarmAttr parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static msec.monitor.Monitor.RespSetAlarmAttr parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(msec.monitor.Monitor.RespSetAlarmAttr prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code msec.monitor.RespSetAlarmAttr}
     *
     * <pre>
     *通过包头result确认是否成功
     *特殊返回码：
     *	1: 该服务的监控项已经到达上限
     * </pre>
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder>
       implements msec.monitor.Monitor.RespSetAlarmAttrOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return msec.monitor.Monitor.internal_static_msec_monitor_RespSetAlarmAttr_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return msec.monitor.Monitor.internal_static_msec_monitor_RespSetAlarmAttr_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                msec.monitor.Monitor.RespSetAlarmAttr.class, msec.monitor.Monitor.RespSetAlarmAttr.Builder.class);
      }

      // Construct using msec.monitor.Monitor.RespSetAlarmAttr.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return msec.monitor.Monitor.internal_static_msec_monitor_RespSetAlarmAttr_descriptor;
      }

      public msec.monitor.Monitor.RespSetAlarmAttr getDefaultInstanceForType() {
        return msec.monitor.Monitor.RespSetAlarmAttr.getDefaultInstance();
      }

      public msec.monitor.Monitor.RespSetAlarmAttr build() {
        msec.monitor.Monitor.RespSetAlarmAttr result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public msec.monitor.Monitor.RespSetAlarmAttr buildPartial() {
        msec.monitor.Monitor.RespSetAlarmAttr result = new msec.monitor.Monitor.RespSetAlarmAttr(this);
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof msec.monitor.Monitor.RespSetAlarmAttr) {
          return mergeFrom((msec.monitor.Monitor.RespSetAlarmAttr)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(msec.monitor.Monitor.RespSetAlarmAttr other) {
        if (other == msec.monitor.Monitor.RespSetAlarmAttr.getDefaultInstance()) return this;
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        msec.monitor.Monitor.RespSetAlarmAttr parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (msec.monitor.Monitor.RespSetAlarmAttr) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      // @@protoc_insertion_point(builder_scope:msec.monitor.RespSetAlarmAttr)
    }

    static {
      defaultInstance = new RespSetAlarmAttr(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:msec.monitor.RespSetAlarmAttr)
  }

  public interface ReqDelAlarmAttrOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional string servicename = 1;
    /**
     * <code>optional string servicename = 1;</code>
     */
    boolean hasServicename();
    /**
     * <code>optional string servicename = 1;</code>
     */
    java.lang.String getServicename();
    /**
     * <code>optional string servicename = 1;</code>
     */
    com.google.protobuf.ByteString
        getServicenameBytes();

    // optional string attrname = 2;
    /**
     * <code>optional string attrname = 2;</code>
     */
    boolean hasAttrname();
    /**
     * <code>optional string attrname = 2;</code>
     */
    java.lang.String getAttrname();
    /**
     * <code>optional string attrname = 2;</code>
     */
    com.google.protobuf.ByteString
        getAttrnameBytes();
  }
  /**
   * Protobuf type {@code msec.monitor.ReqDelAlarmAttr}
   *
   * <pre>
   *删除单个告警项
   * </pre>
   */
  public static final class ReqDelAlarmAttr extends
      com.google.protobuf.GeneratedMessage
      implements ReqDelAlarmAttrOrBuilder {
    // Use ReqDelAlarmAttr.newBuilder() to construct.
    private ReqDelAlarmAttr(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private ReqDelAlarmAttr(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final ReqDelAlarmAttr defaultInstance;
    public static ReqDelAlarmAttr getDefaultInstance() {
      return defaultInstance;
    }

    public ReqDelAlarmAttr getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private ReqDelAlarmAttr(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              bitField0_ |= 0x00000001;
              servicename_ = input.readBytes();
              break;
            }
            case 18: {
              bitField0_ |= 0x00000002;
              attrname_ = input.readBytes();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return msec.monitor.Monitor.internal_static_msec_monitor_ReqDelAlarmAttr_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return msec.monitor.Monitor.internal_static_msec_monitor_ReqDelAlarmAttr_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              msec.monitor.Monitor.ReqDelAlarmAttr.class, msec.monitor.Monitor.ReqDelAlarmAttr.Builder.class);
    }

    public static com.google.protobuf.Parser<ReqDelAlarmAttr> PARSER =
        new com.google.protobuf.AbstractParser<ReqDelAlarmAttr>() {
      public ReqDelAlarmAttr parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new ReqDelAlarmAttr(input, extensionRegistry);
      }
    };

    @java.lang.Override
    public com.google.protobuf.Parser<ReqDelAlarmAttr> getParserForType() {
      return PARSER;
    }

    private int bitField0_;
    // optional string servicename = 1;
    public static final int SERVICENAME_FIELD_NUMBER = 1;
    private java.lang.Object servicename_;
    /**
     * <code>optional string servicename = 1;</code>
     */
    public boolean hasServicename() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>optional string servicename = 1;</code>
     */
    public java.lang.String getServicename() {
      java.lang.Object ref = servicename_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          servicename_ = s;
        }
        return s;
      }
    }
    /**
     * <code>optional string servicename = 1;</code>
     */
    public com.google.protobuf.ByteString
        getServicenameBytes() {
      java.lang.Object ref = servicename_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        servicename_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    // optional string attrname = 2;
    public static final int ATTRNAME_FIELD_NUMBER = 2;
    private java.lang.Object attrname_;
    /**
     * <code>optional string attrname = 2;</code>
     */
    public boolean hasAttrname() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * <code>optional string attrname = 2;</code>
     */
    public java.lang.String getAttrname() {
      java.lang.Object ref = attrname_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          attrname_ = s;
        }
        return s;
      }
    }
    /**
     * <code>optional string attrname = 2;</code>
     */
    public com.google.protobuf.ByteString
        getAttrnameBytes() {
      java.lang.Object ref = attrname_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        attrname_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    private void initFields() {
      servicename_ = "";
      attrname_ = "";
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBytes(1, getServicenameBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeBytes(2, getAttrnameBytes());
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(1, getServicenameBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(2, getAttrnameBytes());
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static msec.monitor.Monitor.ReqDelAlarmAttr parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static msec.monitor.Monitor.ReqDelAlarmAttr parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static msec.monitor.Monitor.ReqDelAlarmAttr parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static msec.monitor.Monitor.ReqDelAlarmAttr parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static msec.monitor.Monitor.ReqDelAlarmAttr parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static msec.monitor.Monitor.ReqDelAlarmAttr parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static msec.monitor.Monitor.ReqDelAlarmAttr parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static msec.monitor.Monitor.ReqDelAlarmAttr parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static msec.monitor.Monitor.ReqDelAlarmAttr parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static msec.monitor.Monitor.ReqDelAlarmAttr parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(msec.monitor.Monitor.ReqDelAlarmAttr prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code msec.monitor.ReqDelAlarmAttr}
     *
     * <pre>
     *删除单个告警项
     * </pre>
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder>
       implements msec.monitor.Monitor.ReqDelAlarmAttrOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return msec.monitor.Monitor.internal_static_msec_monitor_ReqDelAlarmAttr_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return msec.monitor.Monitor.internal_static_msec_monitor_ReqDelAlarmAttr_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                msec.monitor.Monitor.ReqDelAlarmAttr.class, msec.monitor.Monitor.ReqDelAlarmAttr.Builder.class);
      }

      // Construct using msec.monitor.Monitor.ReqDelAlarmAttr.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        servicename_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        attrname_ = "";
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return msec.monitor.Monitor.internal_static_msec_monitor_ReqDelAlarmAttr_descriptor;
      }

      public msec.monitor.Monitor.ReqDelAlarmAttr getDefaultInstanceForType() {
        return msec.monitor.Monitor.ReqDelAlarmAttr.getDefaultInstance();
      }

      public msec.monitor.Monitor.ReqDelAlarmAttr build() {
        msec.monitor.Monitor.ReqDelAlarmAttr result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public msec.monitor.Monitor.ReqDelAlarmAttr buildPartial() {
        msec.monitor.Monitor.ReqDelAlarmAttr result = new msec.monitor.Monitor.ReqDelAlarmAttr(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.servicename_ = servicename_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.attrname_ = attrname_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof msec.monitor.Monitor.ReqDelAlarmAttr) {
          return mergeFrom((msec.monitor.Monitor.ReqDelAlarmAttr)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(msec.monitor.Monitor.ReqDelAlarmAttr other) {
        if (other == msec.monitor.Monitor.ReqDelAlarmAttr.getDefaultInstance()) return this;
        if (other.hasServicename()) {
          bitField0_ |= 0x00000001;
          servicename_ = other.servicename_;
          onChanged();
        }
        if (other.hasAttrname()) {
          bitField0_ |= 0x00000002;
          attrname_ = other.attrname_;
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        msec.monitor.Monitor.ReqDelAlarmAttr parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (msec.monitor.Monitor.ReqDelAlarmAttr) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional string servicename = 1;
      private java.lang.Object servicename_ = "";
      /**
       * <code>optional string servicename = 1;</code>
       */
      public boolean hasServicename() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>optional string servicename = 1;</code>
       */
      public java.lang.String getServicename() {
        java.lang.Object ref = servicename_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          servicename_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>optional string servicename = 1;</code>
       */
      public com.google.protobuf.ByteString
          getServicenameBytes() {
        java.lang.Object ref = servicename_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          servicename_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>optional string servicename = 1;</code>
       */
      public Builder setServicename(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        servicename_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional string servicename = 1;</code>
       */
      public Builder clearServicename() {
        bitField0_ = (bitField0_ & ~0x00000001);
        servicename_ = getDefaultInstance().getServicename();
        onChanged();
        return this;
      }
      /**
       * <code>optional string servicename = 1;</code>
       */
      public Builder setServicenameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        servicename_ = value;
        onChanged();
        return this;
      }

      // optional string attrname = 2;
      private java.lang.Object attrname_ = "";
      /**
       * <code>optional string attrname = 2;</code>
       */
      public boolean hasAttrname() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>optional string attrname = 2;</code>
       */
      public java.lang.String getAttrname() {
        java.lang.Object ref = attrname_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          attrname_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>optional string attrname = 2;</code>
       */
      public com.google.protobuf.ByteString
          getAttrnameBytes() {
        java.lang.Object ref = attrname_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          attrname_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>optional string attrname = 2;</code>
       */
      public Builder setAttrname(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        attrname_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional string attrname = 2;</code>
       */
      public Builder clearAttrname() {
        bitField0_ = (bitField0_ & ~0x00000002);
        attrname_ = getDefaultInstance().getAttrname();
        onChanged();
        return this;
      }
      /**
       * <code>optional string attrname = 2;</code>
       */
      public Builder setAttrnameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        attrname_ = value;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:msec.monitor.ReqDelAlarmAttr)
    }

    static {
      defaultInstance = new ReqDelAlarmAttr(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:msec.monitor.ReqDelAlarmAttr)
  }

  public interface RespDelAlarmAttrOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional uint32 deleted_rows = 1;
    /**
     * <code>optional uint32 deleted_rows = 1;</code>
     *
     * <pre>
     *实际删除的告警行数
     * </pre>
     */
    boolean hasDeletedRows();
    /**
     * <code>optional uint32 deleted_rows = 1;</code>
     *
     * <pre>
     *实际删除的告警行数
     * </pre>
     */
    int getDeletedRows();
  }
  /**
   * Protobuf type {@code msec.monitor.RespDelAlarmAttr}
   *
   * <pre>
   *通过包头result确认是否成功
   * </pre>
   */
  public static final class RespDelAlarmAttr extends
      com.google.protobuf.GeneratedMessage
      implements RespDelAlarmAttrOrBuilder {
    // Use RespDelAlarmAttr.newBuilder() to construct.
    private RespDelAlarmAttr(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private RespDelAlarmAttr(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final RespDelAlarmAttr defaultInstance;
    public static RespDelAlarmAttr getDefaultInstance() {
      return defaultInstance;
    }

    public RespDelAlarmAttr getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private RespDelAlarmAttr(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              deletedRows_ = input.readUInt32();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return msec.monitor.Monitor.internal_static_msec_monitor_RespDelAlarmAttr_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return msec.monitor.Monitor.internal_static_msec_monitor_RespDelAlarmAttr_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              msec.monitor.Monitor.RespDelAlarmAttr.class, msec.monitor.Monitor.RespDelAlarmAttr.Builder.class);
    }

    public static com.google.protobuf.Parser<RespDelAlarmAttr> PARSER =
        new com.google.protobuf.AbstractParser<RespDelAlarmAttr>() {
      public RespDelAlarmAttr parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new RespDelAlarmAttr(input, extensionRegistry);
      }
    };

    @java.lang.Override
    public com.google.protobuf.Parser<RespDelAlarmAttr> getParserForType() {
      return PARSER;
    }

    private int bitField0_;
    // optional uint32 deleted_rows = 1;
    public static final int DELETED_ROWS_FIELD_NUMBER = 1;
    private int deletedRows_;
    /**
     * <code>optional uint32 deleted_rows = 1;</code>
     *
     * <pre>
     *实际删除的告警行数
     * </pre>
     */
    public boolean hasDeletedRows() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>optional uint32 deleted_rows = 1;</code>
     *
     * <pre>
     *实际删除的告警行数
     * </pre>
     */
    public int getDeletedRows() {
      return deletedRows_;
    }

    private void initFields() {
      deletedRows_ = 0;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeUInt32(1, deletedRows_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(1, deletedRows_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static msec.monitor.Monitor.RespDelAlarmAttr parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static msec.monitor.Monitor.RespDelAlarmAttr parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static msec.monitor.Monitor.RespDelAlarmAttr parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static msec.monitor.Monitor.RespDelAlarmAttr parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static msec.monitor.Monitor.RespDelAlarmAttr parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static msec.monitor.Monitor.RespDelAlarmAttr parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static msec.monitor.Monitor.RespDelAlarmAttr parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static msec.monitor.Monitor.RespDelAlarmAttr parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static msec.monitor.Monitor.RespDelAlarmAttr parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static msec.monitor.Monitor.RespDelAlarmAttr parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(msec.monitor.Monitor.RespDelAlarmAttr prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code msec.monitor.RespDelAlarmAttr}
     *
     * <pre>
     *通过包头result确认是否成功
     * </pre>
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder>
       implements msec.monitor.Monitor.RespDelAlarmAttrOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return msec.monitor.Monitor.internal_static_msec_monitor_RespDelAlarmAttr_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return msec.monitor.Monitor.internal_static_msec_monitor_RespDelAlarmAttr_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                msec.monitor.Monitor.RespDelAlarmAttr.class, msec.monitor.Monitor.RespDelAlarmAttr.Builder.class);
      }

      // Construct using msec.monitor.Monitor.RespDelAlarmAttr.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        deletedRows_ = 0;
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return msec.monitor.Monitor.internal_static_msec_monitor_RespDelAlarmAttr_descriptor;
      }

      public msec.monitor.Monitor.RespDelAlarmAttr getDefaultInstanceForType() {
        return msec.monitor.Monitor.RespDelAlarmAttr.getDefaultInstance();
      }

      public msec.monitor.Monitor.RespDelAlarmAttr build() {
        msec.monitor.Monitor.RespDelAlarmAttr result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public msec.monitor.Monitor.RespDelAlarmAttr buildPartial() {
        msec.monitor.Monitor.RespDelAlarmAttr result = new msec.monitor.Monitor.RespDelAlarmAttr(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.deletedRows_ = deletedRows_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof msec.monitor.Monitor.RespDelAlarmAttr) {
          return mergeFrom((msec.monitor.Monitor.RespDelAlarmAttr)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(msec.monitor.Monitor.RespDelAlarmAttr other) {
        if (other == msec.monitor.Monitor.RespDelAlarmAttr.getDefaultInstance()) return this;
        if (other.hasDeletedRows()) {
          setDeletedRows(other.getDeletedRows());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        msec.monitor.Monitor.RespDelAlarmAttr parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (msec.monitor.Monitor.RespDelAlarmAttr) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional uint32 deleted_rows = 1;
      private int deletedRows_ ;
      /**
       * <code>optional uint32 deleted_rows = 1;</code>
       *
       * <pre>
       *实际删除的告警行数
       * </pre>
       */
      public boolean hasDeletedRows() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>optional uint32 deleted_rows = 1;</code>
       *
       * <pre>
       *实际删除的告警行数
       * </pre>
       */
      public int getDeletedRows() {
        return deletedRows_;
      }
      /**
       * <code>optional uint32 deleted_rows = 1;</code>
       *
       * <pre>
       *实际删除的告警行数
       * </pre>
       */
      public Builder setDeletedRows(int value) {
        bitField0_ |= 0x00000001;
        deletedRows_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional uint32 deleted_rows = 1;</code>
       *
       * <pre>
       *实际删除的告警行数
       * </pre>
       */
      public Builder clearDeletedRows() {
        bitField0_ = (bitField0_ & ~0x00000001);
        deletedRows_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:msec.monitor.RespDelAlarmAttr)
    }

    static {
      defaultInstance = new RespDelAlarmAttr(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:msec.monitor.RespDelAlarmAttr)
  }

  public interface ReqNewestAlarmOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional string servicename = 1;
    /**
     * <code>optional string servicename = 1;</code>
     *
     * <pre>
     *不指定的话获取所有最新产生的告警
     * </pre>
     */
    boolean hasServicename();
    /**
     * <code>optional string servicename = 1;</code>
     *
     * <pre>
     *不指定的话获取所有最新产生的告警
     * </pre>
     */
    java.lang.String getServicename();
    /**
     * <code>optional string servicename = 1;</code>
     *
     * <pre>
     *不指定的话获取所有最新产生的告警
     * </pre>
     */
    com.google.protobuf.ByteString
        getServicenameBytes();

    // optional uint32 day = 2;
    /**
     * <code>optional uint32 day = 2;</code>
     *
     * <pre>
     *指定日期
     * </pre>
     */
    boolean hasDay();
    /**
     * <code>optional uint32 day = 2;</code>
     *
     * <pre>
     *指定日期
     * </pre>
     */
    int getDay();
  }
  /**
   * Protobuf type {@code msec.monitor.ReqNewestAlarm}
   *
   * <pre>
   *获取某一天产生的告警，可指定获取特定服务的告警
   * </pre>
   */
  public static final class ReqNewestAlarm extends
      com.google.protobuf.GeneratedMessage
      implements ReqNewestAlarmOrBuilder {
    // Use ReqNewestAlarm.newBuilder() to construct.
    private ReqNewestAlarm(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private ReqNewestAlarm(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final ReqNewestAlarm defaultInstance;
    public static ReqNewestAlarm getDefaultInstance() {
      return defaultInstance;
    }

    public ReqNewestAlarm getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private ReqNewestAlarm(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              bitField0_ |= 0x00000001;
              servicename_ = input.readBytes();
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              day_ = input.readUInt32();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return msec.monitor.Monitor.internal_static_msec_monitor_ReqNewestAlarm_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return msec.monitor.Monitor.internal_static_msec_monitor_ReqNewestAlarm_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              msec.monitor.Monitor.ReqNewestAlarm.class, msec.monitor.Monitor.ReqNewestAlarm.Builder.class);
    }

    public static com.google.protobuf.Parser<ReqNewestAlarm> PARSER =
        new com.google.protobuf.AbstractParser<ReqNewestAlarm>() {
      public ReqNewestAlarm parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new ReqNewestAlarm(input, extensionRegistry);
      }
    };

    @java.lang.Override
    public com.google.protobuf.Parser<ReqNewestAlarm> getParserForType() {
      return PARSER;
    }

    private int bitField0_;
    // optional string servicename = 1;
    public static final int SERVICENAME_FIELD_NUMBER = 1;
    private java.lang.Object servicename_;
    /**
     * <code>optional string servicename = 1;</code>
     *
     * <pre>
     *不指定的话获取所有最新产生的告警
     * </pre>
     */
    public boolean hasServicename() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>optional string servicename = 1;</code>
     *
     * <pre>
     *不指定的话获取所有最新产生的告警
     * </pre>
     */
    public java.lang.String getServicename() {
      java.lang.Object ref = servicename_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          servicename_ = s;
        }
        return s;
      }
    }
    /**
     * <code>optional string servicename = 1;</code>
     *
     * <pre>
     *不指定的话获取所有最新产生的告警
     * </pre>
     */
    public com.google.protobuf.ByteString
        getServicenameBytes() {
      java.lang.Object ref = servicename_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        servicename_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    // optional uint32 day = 2;
    public static final int DAY_FIELD_NUMBER = 2;
    private int day_;
    /**
     * <code>optional uint32 day = 2;</code>
     *
     * <pre>
     *指定日期
     * </pre>
     */
    public boolean hasDay() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * <code>optional uint32 day = 2;</code>
     *
     * <pre>
     *指定日期
     * </pre>
     */
    public int getDay() {
      return day_;
    }

    private void initFields() {
      servicename_ = "";
      day_ = 0;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBytes(1, getServicenameBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeUInt32(2, day_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(1, getServicenameBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(2, day_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static msec.monitor.Monitor.ReqNewestAlarm parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static msec.monitor.Monitor.ReqNewestAlarm parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static msec.monitor.Monitor.ReqNewestAlarm parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static msec.monitor.Monitor.ReqNewestAlarm parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static msec.monitor.Monitor.ReqNewestAlarm parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static msec.monitor.Monitor.ReqNewestAlarm parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static msec.monitor.Monitor.ReqNewestAlarm parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static msec.monitor.Monitor.ReqNewestAlarm parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static msec.monitor.Monitor.ReqNewestAlarm parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static msec.monitor.Monitor.ReqNewestAlarm parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(msec.monitor.Monitor.ReqNewestAlarm prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code msec.monitor.ReqNewestAlarm}
     *
     * <pre>
     *获取某一天产生的告警，可指定获取特定服务的告警
     * </pre>
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder>
       implements msec.monitor.Monitor.ReqNewestAlarmOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return msec.monitor.Monitor.internal_static_msec_monitor_ReqNewestAlarm_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return msec.monitor.Monitor.internal_static_msec_monitor_ReqNewestAlarm_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                msec.monitor.Monitor.ReqNewestAlarm.class, msec.monitor.Monitor.ReqNewestAlarm.Builder.class);
      }

      // Construct using msec.monitor.Monitor.ReqNewestAlarm.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        servicename_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        day_ = 0;
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return msec.monitor.Monitor.internal_static_msec_monitor_ReqNewestAlarm_descriptor;
      }

      public msec.monitor.Monitor.ReqNewestAlarm getDefaultInstanceForType() {
        return msec.monitor.Monitor.ReqNewestAlarm.getDefaultInstance();
      }

      public msec.monitor.Monitor.ReqNewestAlarm build() {
        msec.monitor.Monitor.ReqNewestAlarm result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public msec.monitor.Monitor.ReqNewestAlarm buildPartial() {
        msec.monitor.Monitor.ReqNewestAlarm result = new msec.monitor.Monitor.ReqNewestAlarm(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.servicename_ = servicename_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.day_ = day_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof msec.monitor.Monitor.ReqNewestAlarm) {
          return mergeFrom((msec.monitor.Monitor.ReqNewestAlarm)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(msec.monitor.Monitor.ReqNewestAlarm other) {
        if (other == msec.monitor.Monitor.ReqNewestAlarm.getDefaultInstance()) return this;
        if (other.hasServicename()) {
          bitField0_ |= 0x00000001;
          servicename_ = other.servicename_;
          onChanged();
        }
        if (other.hasDay()) {
          setDay(other.getDay());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        msec.monitor.Monitor.ReqNewestAlarm parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (msec.monitor.Monitor.ReqNewestAlarm) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional string servicename = 1;
      private java.lang.Object servicename_ = "";
      /**
       * <code>optional string servicename = 1;</code>
       *
       * <pre>
       *不指定的话获取所有最新产生的告警
       * </pre>
       */
      public boolean hasServicename() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>optional string servicename = 1;</code>
       *
       * <pre>
       *不指定的话获取所有最新产生的告警
       * </pre>
       */
      public java.lang.String getServicename() {
        java.lang.Object ref = servicename_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          servicename_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>optional string servicename = 1;</code>
       *
       * <pre>
       *不指定的话获取所有最新产生的告警
       * </pre>
       */
      public com.google.protobuf.ByteString
          getServicenameBytes() {
        java.lang.Object ref = servicename_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          servicename_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>optional string servicename = 1;</code>
       *
       * <pre>
       *不指定的话获取所有最新产生的告警
       * </pre>
       */
      public Builder setServicename(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        servicename_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional string servicename = 1;</code>
       *
       * <pre>
       *不指定的话获取所有最新产生的告警
       * </pre>
       */
      public Builder clearServicename() {
        bitField0_ = (bitField0_ & ~0x00000001);
        servicename_ = getDefaultInstance().getServicename();
        onChanged();
        return this;
      }
      /**
       * <code>optional string servicename = 1;</code>
       *
       * <pre>
       *不指定的话获取所有最新产生的告警
       * </pre>
       */
      public Builder setServicenameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        servicename_ = value;
        onChanged();
        return this;
      }

      // optional uint32 day = 2;
      private int day_ ;
      /**
       * <code>optional uint32 day = 2;</code>
       *
       * <pre>
       *指定日期
       * </pre>
       */
      public boolean hasDay() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>optional uint32 day = 2;</code>
       *
       * <pre>
       *指定日期
       * </pre>
       */
      public int getDay() {
        return day_;
      }
      /**
       * <code>optional uint32 day = 2;</code>
       *
       * <pre>
       *指定日期
       * </pre>
       */
      public Builder setDay(int value) {
        bitField0_ |= 0x00000002;
        day_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional uint32 day = 2;</code>
       *
       * <pre>
       *指定日期
       * </pre>
       */
      public Builder clearDay() {
        bitField0_ = (bitField0_ & ~0x00000002);
        day_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:msec.monitor.ReqNewestAlarm)
    }

    static {
      defaultInstance = new ReqNewestAlarm(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:msec.monitor.ReqNewestAlarm)
  }

  public interface AlarmOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional string servicename = 1;
    /**
     * <code>optional string servicename = 1;</code>
     */
    boolean hasServicename();
    /**
     * <code>optional string servicename = 1;</code>
     */
    java.lang.String getServicename();
    /**
     * <code>optional string servicename = 1;</code>
     */
    com.google.protobuf.ByteString
        getServicenameBytes();

    // optional string attrname = 2;
    /**
     * <code>optional string attrname = 2;</code>
     */
    boolean hasAttrname();
    /**
     * <code>optional string attrname = 2;</code>
     */
    java.lang.String getAttrname();
    /**
     * <code>optional string attrname = 2;</code>
     */
    com.google.protobuf.ByteString
        getAttrnameBytes();

    // optional .msec.monitor.AlarmType type = 3;
    /**
     * <code>optional .msec.monitor.AlarmType type = 3;</code>
     */
    boolean hasType();
    /**
     * <code>optional .msec.monitor.AlarmType type = 3;</code>
     */
    msec.monitor.Monitor.AlarmType getType();

    // optional uint32 first_alarm_time = 4;
    /**
     * <code>optional uint32 first_alarm_time = 4;</code>
     *
     * <pre>
     *第一次告警时间
     * </pre>
     */
    boolean hasFirstAlarmTime();
    /**
     * <code>optional uint32 first_alarm_time = 4;</code>
     *
     * <pre>
     *第一次告警时间
     * </pre>
     */
    int getFirstAlarmTime();

    // optional uint32 last_alarm_time = 5;
    /**
     * <code>optional uint32 last_alarm_time = 5;</code>
     *
     * <pre>
     *最近一次告警时间
     * </pre>
     */
    boolean hasLastAlarmTime();
    /**
     * <code>optional uint32 last_alarm_time = 5;</code>
     *
     * <pre>
     *最近一次告警时间
     * </pre>
     */
    int getLastAlarmTime();

    // optional uint32 alarm_times = 6;
    /**
     * <code>optional uint32 alarm_times = 6;</code>
     *
     * <pre>
     *告警次数，用于收敛逻辑
     * </pre>
     */
    boolean hasAlarmTimes();
    /**
     * <code>optional uint32 alarm_times = 6;</code>
     *
     * <pre>
     *告警次数，用于收敛逻辑
     * </pre>
     */
    int getAlarmTimes();

    // optional uint32 last_value = 7;
    /**
     * <code>optional uint32 last_value = 7;</code>
     *
     * <pre>
     *最近一次告警的上报值
     * </pre>
     */
    boolean hasLastValue();
    /**
     * <code>optional uint32 last_value = 7;</code>
     *
     * <pre>
     *最近一次告警的上报值
     * </pre>
     */
    int getLastValue();

    // optional uint32 last_attr_value = 8;
    /**
     * <code>optional uint32 last_attr_value = 8;</code>
     *
     * <pre>
     *最近一次告警设置的阈值
     * </pre>
     */
    boolean hasLastAttrValue();
    /**
     * <code>optional uint32 last_attr_value = 8;</code>
     *
     * <pre>
     *最近一次告警设置的阈值
     * </pre>
     */
    int getLastAttrValue();

    // optional uint32 last_diff_value = 9;
    /**
     * <code>optional uint32 last_diff_value = 9;</code>
     *
     * <pre>
     *如果是波动告警，计算实际波动量
     * </pre>
     */
    boolean hasLastDiffValue();
    /**
     * <code>optional uint32 last_diff_value = 9;</code>
     *
     * <pre>
     *如果是波动告警，计算实际波动量
     * </pre>
     */
    int getLastDiffValue();
  }
  /**
   * Protobuf type {@code msec.monitor.Alarm}
   *
   * <pre>
   *告警依据属性名、类型在一天内收敛
   * </pre>
   */
  public static final class Alarm extends
      com.google.protobuf.GeneratedMessage
      implements AlarmOrBuilder {
    // Use Alarm.newBuilder() to construct.
    private Alarm(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private Alarm(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final Alarm defaultInstance;
    public static Alarm getDefaultInstance() {
      return defaultInstance;
    }

    public Alarm getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private Alarm(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              bitField0_ |= 0x00000001;
              servicename_ = input.readBytes();
              break;
            }
            case 18: {
              bitField0_ |= 0x00000002;
              attrname_ = input.readBytes();
              break;
            }
            case 24: {
              int rawValue = input.readEnum();
              msec.monitor.Monitor.AlarmType value = msec.monitor.Monitor.AlarmType.valueOf(rawValue);
              if (value == null) {
                unknownFields.mergeVarintField(3, rawValue);
              } else {
                bitField0_ |= 0x00000004;
                type_ = value;
              }
              break;
            }
            case 32: {
              bitField0_ |= 0x00000008;
              firstAlarmTime_ = input.readUInt32();
              break;
            }
            case 40: {
              bitField0_ |= 0x00000010;
              lastAlarmTime_ = input.readUInt32();
              break;
            }
            case 48: {
              bitField0_ |= 0x00000020;
              alarmTimes_ = input.readUInt32();
              break;
            }
            case 56: {
              bitField0_ |= 0x00000040;
              lastValue_ = input.readUInt32();
              break;
            }
            case 64: {
              bitField0_ |= 0x00000080;
              lastAttrValue_ = input.readUInt32();
              break;
            }
            case 72: {
              bitField0_ |= 0x00000100;
              lastDiffValue_ = input.readUInt32();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return msec.monitor.Monitor.internal_static_msec_monitor_Alarm_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return msec.monitor.Monitor.internal_static_msec_monitor_Alarm_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              msec.monitor.Monitor.Alarm.class, msec.monitor.Monitor.Alarm.Builder.class);
    }

    public static com.google.protobuf.Parser<Alarm> PARSER =
        new com.google.protobuf.AbstractParser<Alarm>() {
      public Alarm parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new Alarm(input, extensionRegistry);
      }
    };

    @java.lang.Override
    public com.google.protobuf.Parser<Alarm> getParserForType() {
      return PARSER;
    }

    private int bitField0_;
    // optional string servicename = 1;
    public static final int SERVICENAME_FIELD_NUMBER = 1;
    private java.lang.Object servicename_;
    /**
     * <code>optional string servicename = 1;</code>
     */
    public boolean hasServicename() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>optional string servicename = 1;</code>
     */
    public java.lang.String getServicename() {
      java.lang.Object ref = servicename_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          servicename_ = s;
        }
        return s;
      }
    }
    /**
     * <code>optional string servicename = 1;</code>
     */
    public com.google.protobuf.ByteString
        getServicenameBytes() {
      java.lang.Object ref = servicename_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        servicename_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    // optional string attrname = 2;
    public static final int ATTRNAME_FIELD_NUMBER = 2;
    private java.lang.Object attrname_;
    /**
     * <code>optional string attrname = 2;</code>
     */
    public boolean hasAttrname() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * <code>optional string attrname = 2;</code>
     */
    public java.lang.String getAttrname() {
      java.lang.Object ref = attrname_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          attrname_ = s;
        }
        return s;
      }
    }
    /**
     * <code>optional string attrname = 2;</code>
     */
    public com.google.protobuf.ByteString
        getAttrnameBytes() {
      java.lang.Object ref = attrname_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        attrname_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    // optional .msec.monitor.AlarmType type = 3;
    public static final int TYPE_FIELD_NUMBER = 3;
    private msec.monitor.Monitor.AlarmType type_;
    /**
     * <code>optional .msec.monitor.AlarmType type = 3;</code>
     */
    public boolean hasType() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * <code>optional .msec.monitor.AlarmType type = 3;</code>
     */
    public msec.monitor.Monitor.AlarmType getType() {
      return type_;
    }

    // optional uint32 first_alarm_time = 4;
    public static final int FIRST_ALARM_TIME_FIELD_NUMBER = 4;
    private int firstAlarmTime_;
    /**
     * <code>optional uint32 first_alarm_time = 4;</code>
     *
     * <pre>
     *第一次告警时间
     * </pre>
     */
    public boolean hasFirstAlarmTime() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * <code>optional uint32 first_alarm_time = 4;</code>
     *
     * <pre>
     *第一次告警时间
     * </pre>
     */
    public int getFirstAlarmTime() {
      return firstAlarmTime_;
    }

    // optional uint32 last_alarm_time = 5;
    public static final int LAST_ALARM_TIME_FIELD_NUMBER = 5;
    private int lastAlarmTime_;
    /**
     * <code>optional uint32 last_alarm_time = 5;</code>
     *
     * <pre>
     *最近一次告警时间
     * </pre>
     */
    public boolean hasLastAlarmTime() {
      return ((bitField0_ & 0x00000010) == 0x00000010);
    }
    /**
     * <code>optional uint32 last_alarm_time = 5;</code>
     *
     * <pre>
     *最近一次告警时间
     * </pre>
     */
    public int getLastAlarmTime() {
      return lastAlarmTime_;
    }

    // optional uint32 alarm_times = 6;
    public static final int ALARM_TIMES_FIELD_NUMBER = 6;
    private int alarmTimes_;
    /**
     * <code>optional uint32 alarm_times = 6;</code>
     *
     * <pre>
     *告警次数，用于收敛逻辑
     * </pre>
     */
    public boolean hasAlarmTimes() {
      return ((bitField0_ & 0x00000020) == 0x00000020);
    }
    /**
     * <code>optional uint32 alarm_times = 6;</code>
     *
     * <pre>
     *告警次数，用于收敛逻辑
     * </pre>
     */
    public int getAlarmTimes() {
      return alarmTimes_;
    }

    // optional uint32 last_value = 7;
    public static final int LAST_VALUE_FIELD_NUMBER = 7;
    private int lastValue_;
    /**
     * <code>optional uint32 last_value = 7;</code>
     *
     * <pre>
     *最近一次告警的上报值
     * </pre>
     */
    public boolean hasLastValue() {
      return ((bitField0_ & 0x00000040) == 0x00000040);
    }
    /**
     * <code>optional uint32 last_value = 7;</code>
     *
     * <pre>
     *最近一次告警的上报值
     * </pre>
     */
    public int getLastValue() {
      return lastValue_;
    }

    // optional uint32 last_attr_value = 8;
    public static final int LAST_ATTR_VALUE_FIELD_NUMBER = 8;
    private int lastAttrValue_;
    /**
     * <code>optional uint32 last_attr_value = 8;</code>
     *
     * <pre>
     *最近一次告警设置的阈值
     * </pre>
     */
    public boolean hasLastAttrValue() {
      return ((bitField0_ & 0x00000080) == 0x00000080);
    }
    /**
     * <code>optional uint32 last_attr_value = 8;</code>
     *
     * <pre>
     *最近一次告警设置的阈值
     * </pre>
     */
    public int getLastAttrValue() {
      return lastAttrValue_;
    }

    // optional uint32 last_diff_value = 9;
    public static final int LAST_DIFF_VALUE_FIELD_NUMBER = 9;
    private int lastDiffValue_;
    /**
     * <code>optional uint32 last_diff_value = 9;</code>
     *
     * <pre>
     *如果是波动告警，计算实际波动量
     * </pre>
     */
    public boolean hasLastDiffValue() {
      return ((bitField0_ & 0x00000100) == 0x00000100);
    }
    /**
     * <code>optional uint32 last_diff_value = 9;</code>
     *
     * <pre>
     *如果是波动告警，计算实际波动量
     * </pre>
     */
    public int getLastDiffValue() {
      return lastDiffValue_;
    }

    private void initFields() {
      servicename_ = "";
      attrname_ = "";
      type_ = msec.monitor.Monitor.AlarmType.ALARM_MAX;
      firstAlarmTime_ = 0;
      lastAlarmTime_ = 0;
      alarmTimes_ = 0;
      lastValue_ = 0;
      lastAttrValue_ = 0;
      lastDiffValue_ = 0;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBytes(1, getServicenameBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeBytes(2, getAttrnameBytes());
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeEnum(3, type_.getNumber());
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeUInt32(4, firstAlarmTime_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        output.writeUInt32(5, lastAlarmTime_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        output.writeUInt32(6, alarmTimes_);
      }
      if (((bitField0_ & 0x00000040) == 0x00000040)) {
        output.writeUInt32(7, lastValue_);
      }
      if (((bitField0_ & 0x00000080) == 0x00000080)) {
        output.writeUInt32(8, lastAttrValue_);
      }
      if (((bitField0_ & 0x00000100) == 0x00000100)) {
        output.writeUInt32(9, lastDiffValue_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(1, getServicenameBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(2, getAttrnameBytes());
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(3, type_.getNumber());
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(4, firstAlarmTime_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(5, lastAlarmTime_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(6, alarmTimes_);
      }
      if (((bitField0_ & 0x00000040) == 0x00000040)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(7, lastValue_);
      }
      if (((bitField0_ & 0x00000080) == 0x00000080)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(8, lastAttrValue_);
      }
      if (((bitField0_ & 0x00000100) == 0x00000100)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(9, lastDiffValue_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static msec.monitor.Monitor.Alarm parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static msec.monitor.Monitor.Alarm parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static msec.monitor.Monitor.Alarm parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static msec.monitor.Monitor.Alarm parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static msec.monitor.Monitor.Alarm parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static msec.monitor.Monitor.Alarm parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static msec.monitor.Monitor.Alarm parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static msec.monitor.Monitor.Alarm parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static msec.monitor.Monitor.Alarm parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static msec.monitor.Monitor.Alarm parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(msec.monitor.Monitor.Alarm prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code msec.monitor.Alarm}
     *
     * <pre>
     *告警依据属性名、类型在一天内收敛
     * </pre>
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder>
       implements msec.monitor.Monitor.AlarmOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return msec.monitor.Monitor.internal_static_msec_monitor_Alarm_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return msec.monitor.Monitor.internal_static_msec_monitor_Alarm_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                msec.monitor.Monitor.Alarm.class, msec.monitor.Monitor.Alarm.Builder.class);
      }

      // Construct using msec.monitor.Monitor.Alarm.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        servicename_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        attrname_ = "";
        bitField0_ = (bitField0_ & ~0x00000002);
        type_ = msec.monitor.Monitor.AlarmType.ALARM_MAX;
        bitField0_ = (bitField0_ & ~0x00000004);
        firstAlarmTime_ = 0;
        bitField0_ = (bitField0_ & ~0x00000008);
        lastAlarmTime_ = 0;
        bitField0_ = (bitField0_ & ~0x00000010);
        alarmTimes_ = 0;
        bitField0_ = (bitField0_ & ~0x00000020);
        lastValue_ = 0;
        bitField0_ = (bitField0_ & ~0x00000040);
        lastAttrValue_ = 0;
        bitField0_ = (bitField0_ & ~0x00000080);
        lastDiffValue_ = 0;
        bitField0_ = (bitField0_ & ~0x00000100);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return msec.monitor.Monitor.internal_static_msec_monitor_Alarm_descriptor;
      }

      public msec.monitor.Monitor.Alarm getDefaultInstanceForType() {
        return msec.monitor.Monitor.Alarm.getDefaultInstance();
      }

      public msec.monitor.Monitor.Alarm build() {
        msec.monitor.Monitor.Alarm result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public msec.monitor.Monitor.Alarm buildPartial() {
        msec.monitor.Monitor.Alarm result = new msec.monitor.Monitor.Alarm(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.servicename_ = servicename_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.attrname_ = attrname_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.type_ = type_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        result.firstAlarmTime_ = firstAlarmTime_;
        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
          to_bitField0_ |= 0x00000010;
        }
        result.lastAlarmTime_ = lastAlarmTime_;
        if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
          to_bitField0_ |= 0x00000020;
        }
        result.alarmTimes_ = alarmTimes_;
        if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
          to_bitField0_ |= 0x00000040;
        }
        result.lastValue_ = lastValue_;
        if (((from_bitField0_ & 0x00000080) == 0x00000080)) {
          to_bitField0_ |= 0x00000080;
        }
        result.lastAttrValue_ = lastAttrValue_;
        if (((from_bitField0_ & 0x00000100) == 0x00000100)) {
          to_bitField0_ |= 0x00000100;
        }
        result.lastDiffValue_ = lastDiffValue_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof msec.monitor.Monitor.Alarm) {
          return mergeFrom((msec.monitor.Monitor.Alarm)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(msec.monitor.Monitor.Alarm other) {
        if (other == msec.monitor.Monitor.Alarm.getDefaultInstance()) return this;
        if (other.hasServicename()) {
          bitField0_ |= 0x00000001;
          servicename_ = other.servicename_;
          onChanged();
        }
        if (other.hasAttrname()) {
          bitField0_ |= 0x00000002;
          attrname_ = other.attrname_;
          onChanged();
        }
        if (other.hasType()) {
          setType(other.getType());
        }
        if (other.hasFirstAlarmTime()) {
          setFirstAlarmTime(other.getFirstAlarmTime());
        }
        if (other.hasLastAlarmTime()) {
          setLastAlarmTime(other.getLastAlarmTime());
        }
        if (other.hasAlarmTimes()) {
          setAlarmTimes(other.getAlarmTimes());
        }
        if (other.hasLastValue()) {
          setLastValue(other.getLastValue());
        }
        if (other.hasLastAttrValue()) {
          setLastAttrValue(other.getLastAttrValue());
        }
        if (other.hasLastDiffValue()) {
          setLastDiffValue(other.getLastDiffValue());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        msec.monitor.Monitor.Alarm parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (msec.monitor.Monitor.Alarm) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional string servicename = 1;
      private java.lang.Object servicename_ = "";
      /**
       * <code>optional string servicename = 1;</code>
       */
      public boolean hasServicename() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>optional string servicename = 1;</code>
       */
      public java.lang.String getServicename() {
        java.lang.Object ref = servicename_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          servicename_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>optional string servicename = 1;</code>
       */
      public com.google.protobuf.ByteString
          getServicenameBytes() {
        java.lang.Object ref = servicename_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          servicename_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>optional string servicename = 1;</code>
       */
      public Builder setServicename(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        servicename_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional string servicename = 1;</code>
       */
      public Builder clearServicename() {
        bitField0_ = (bitField0_ & ~0x00000001);
        servicename_ = getDefaultInstance().getServicename();
        onChanged();
        return this;
      }
      /**
       * <code>optional string servicename = 1;</code>
       */
      public Builder setServicenameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        servicename_ = value;
        onChanged();
        return this;
      }

      // optional string attrname = 2;
      private java.lang.Object attrname_ = "";
      /**
       * <code>optional string attrname = 2;</code>
       */
      public boolean hasAttrname() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>optional string attrname = 2;</code>
       */
      public java.lang.String getAttrname() {
        java.lang.Object ref = attrname_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          attrname_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>optional string attrname = 2;</code>
       */
      public com.google.protobuf.ByteString
          getAttrnameBytes() {
        java.lang.Object ref = attrname_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          attrname_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>optional string attrname = 2;</code>
       */
      public Builder setAttrname(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        attrname_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional string attrname = 2;</code>
       */
      public Builder clearAttrname() {
        bitField0_ = (bitField0_ & ~0x00000002);
        attrname_ = getDefaultInstance().getAttrname();
        onChanged();
        return this;
      }
      /**
       * <code>optional string attrname = 2;</code>
       */
      public Builder setAttrnameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        attrname_ = value;
        onChanged();
        return this;
      }

      // optional .msec.monitor.AlarmType type = 3;
      private msec.monitor.Monitor.AlarmType type_ = msec.monitor.Monitor.AlarmType.ALARM_MAX;
      /**
       * <code>optional .msec.monitor.AlarmType type = 3;</code>
       */
      public boolean hasType() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * <code>optional .msec.monitor.AlarmType type = 3;</code>
       */
      public msec.monitor.Monitor.AlarmType getType() {
        return type_;
      }
      /**
       * <code>optional .msec.monitor.AlarmType type = 3;</code>
       */
      public Builder setType(msec.monitor.Monitor.AlarmType value) {
        if (value == null) {
          throw new NullPointerException();
        }
        bitField0_ |= 0x00000004;
        type_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional .msec.monitor.AlarmType type = 3;</code>
       */
      public Builder clearType() {
        bitField0_ = (bitField0_ & ~0x00000004);
        type_ = msec.monitor.Monitor.AlarmType.ALARM_MAX;
        onChanged();
        return this;
      }

      // optional uint32 first_alarm_time = 4;
      private int firstAlarmTime_ ;
      /**
       * <code>optional uint32 first_alarm_time = 4;</code>
       *
       * <pre>
       *第一次告警时间
       * </pre>
       */
      public boolean hasFirstAlarmTime() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * <code>optional uint32 first_alarm_time = 4;</code>
       *
       * <pre>
       *第一次告警时间
       * </pre>
       */
      public int getFirstAlarmTime() {
        return firstAlarmTime_;
      }
      /**
       * <code>optional uint32 first_alarm_time = 4;</code>
       *
       * <pre>
       *第一次告警时间
       * </pre>
       */
      public Builder setFirstAlarmTime(int value) {
        bitField0_ |= 0x00000008;
        firstAlarmTime_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional uint32 first_alarm_time = 4;</code>
       *
       * <pre>
       *第一次告警时间
       * </pre>
       */
      public Builder clearFirstAlarmTime() {
        bitField0_ = (bitField0_ & ~0x00000008);
        firstAlarmTime_ = 0;
        onChanged();
        return this;
      }

      // optional uint32 last_alarm_time = 5;
      private int lastAlarmTime_ ;
      /**
       * <code>optional uint32 last_alarm_time = 5;</code>
       *
       * <pre>
       *最近一次告警时间
       * </pre>
       */
      public boolean hasLastAlarmTime() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      /**
       * <code>optional uint32 last_alarm_time = 5;</code>
       *
       * <pre>
       *最近一次告警时间
       * </pre>
       */
      public int getLastAlarmTime() {
        return lastAlarmTime_;
      }
      /**
       * <code>optional uint32 last_alarm_time = 5;</code>
       *
       * <pre>
       *最近一次告警时间
       * </pre>
       */
      public Builder setLastAlarmTime(int value) {
        bitField0_ |= 0x00000010;
        lastAlarmTime_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional uint32 last_alarm_time = 5;</code>
       *
       * <pre>
       *最近一次告警时间
       * </pre>
       */
      public Builder clearLastAlarmTime() {
        bitField0_ = (bitField0_ & ~0x00000010);
        lastAlarmTime_ = 0;
        onChanged();
        return this;
      }

      // optional uint32 alarm_times = 6;
      private int alarmTimes_ ;
      /**
       * <code>optional uint32 alarm_times = 6;</code>
       *
       * <pre>
       *告警次数，用于收敛逻辑
       * </pre>
       */
      public boolean hasAlarmTimes() {
        return ((bitField0_ & 0x00000020) == 0x00000020);
      }
      /**
       * <code>optional uint32 alarm_times = 6;</code>
       *
       * <pre>
       *告警次数，用于收敛逻辑
       * </pre>
       */
      public int getAlarmTimes() {
        return alarmTimes_;
      }
      /**
       * <code>optional uint32 alarm_times = 6;</code>
       *
       * <pre>
       *告警次数，用于收敛逻辑
       * </pre>
       */
      public Builder setAlarmTimes(int value) {
        bitField0_ |= 0x00000020;
        alarmTimes_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional uint32 alarm_times = 6;</code>
       *
       * <pre>
       *告警次数，用于收敛逻辑
       * </pre>
       */
      public Builder clearAlarmTimes() {
        bitField0_ = (bitField0_ & ~0x00000020);
        alarmTimes_ = 0;
        onChanged();
        return this;
      }

      // optional uint32 last_value = 7;
      private int lastValue_ ;
      /**
       * <code>optional uint32 last_value = 7;</code>
       *
       * <pre>
       *最近一次告警的上报值
       * </pre>
       */
      public boolean hasLastValue() {
        return ((bitField0_ & 0x00000040) == 0x00000040);
      }
      /**
       * <code>optional uint32 last_value = 7;</code>
       *
       * <pre>
       *最近一次告警的上报值
       * </pre>
       */
      public int getLastValue() {
        return lastValue_;
      }
      /**
       * <code>optional uint32 last_value = 7;</code>
       *
       * <pre>
       *最近一次告警的上报值
       * </pre>
       */
      public Builder setLastValue(int value) {
        bitField0_ |= 0x00000040;
        lastValue_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional uint32 last_value = 7;</code>
       *
       * <pre>
       *最近一次告警的上报值
       * </pre>
       */
      public Builder clearLastValue() {
        bitField0_ = (bitField0_ & ~0x00000040);
        lastValue_ = 0;
        onChanged();
        return this;
      }

      // optional uint32 last_attr_value = 8;
      private int lastAttrValue_ ;
      /**
       * <code>optional uint32 last_attr_value = 8;</code>
       *
       * <pre>
       *最近一次告警设置的阈值
       * </pre>
       */
      public boolean hasLastAttrValue() {
        return ((bitField0_ & 0x00000080) == 0x00000080);
      }
      /**
       * <code>optional uint32 last_attr_value = 8;</code>
       *
       * <pre>
       *最近一次告警设置的阈值
       * </pre>
       */
      public int getLastAttrValue() {
        return lastAttrValue_;
      }
      /**
       * <code>optional uint32 last_attr_value = 8;</code>
       *
       * <pre>
       *最近一次告警设置的阈值
       * </pre>
       */
      public Builder setLastAttrValue(int value) {
        bitField0_ |= 0x00000080;
        lastAttrValue_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional uint32 last_attr_value = 8;</code>
       *
       * <pre>
       *最近一次告警设置的阈值
       * </pre>
       */
      public Builder clearLastAttrValue() {
        bitField0_ = (bitField0_ & ~0x00000080);
        lastAttrValue_ = 0;
        onChanged();
        return this;
      }

      // optional uint32 last_diff_value = 9;
      private int lastDiffValue_ ;
      /**
       * <code>optional uint32 last_diff_value = 9;</code>
       *
       * <pre>
       *如果是波动告警，计算实际波动量
       * </pre>
       */
      public boolean hasLastDiffValue() {
        return ((bitField0_ & 0x00000100) == 0x00000100);
      }
      /**
       * <code>optional uint32 last_diff_value = 9;</code>
       *
       * <pre>
       *如果是波动告警，计算实际波动量
       * </pre>
       */
      public int getLastDiffValue() {
        return lastDiffValue_;
      }
      /**
       * <code>optional uint32 last_diff_value = 9;</code>
       *
       * <pre>
       *如果是波动告警，计算实际波动量
       * </pre>
       */
      public Builder setLastDiffValue(int value) {
        bitField0_ |= 0x00000100;
        lastDiffValue_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional uint32 last_diff_value = 9;</code>
       *
       * <pre>
       *如果是波动告警，计算实际波动量
       * </pre>
       */
      public Builder clearLastDiffValue() {
        bitField0_ = (bitField0_ & ~0x00000100);
        lastDiffValue_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:msec.monitor.Alarm)
    }

    static {
      defaultInstance = new Alarm(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:msec.monitor.Alarm)
  }

  public interface RespNewestAlarmOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // repeated .msec.monitor.Alarm alarms = 1;
    /**
     * <code>repeated .msec.monitor.Alarm alarms = 1;</code>
     */
    java.util.List<msec.monitor.Monitor.Alarm>
        getAlarmsList();
    /**
     * <code>repeated .msec.monitor.Alarm alarms = 1;</code>
     */
    msec.monitor.Monitor.Alarm getAlarms(int index);
    /**
     * <code>repeated .msec.monitor.Alarm alarms = 1;</code>
     */
    int getAlarmsCount();
    /**
     * <code>repeated .msec.monitor.Alarm alarms = 1;</code>
     */
    java.util.List<? extends msec.monitor.Monitor.AlarmOrBuilder>
        getAlarmsOrBuilderList();
    /**
     * <code>repeated .msec.monitor.Alarm alarms = 1;</code>
     */
    msec.monitor.Monitor.AlarmOrBuilder getAlarmsOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code msec.monitor.RespNewestAlarm}
   */
  public static final class RespNewestAlarm extends
      com.google.protobuf.GeneratedMessage
      implements RespNewestAlarmOrBuilder {
    // Use RespNewestAlarm.newBuilder() to construct.
    private RespNewestAlarm(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private RespNewestAlarm(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final RespNewestAlarm defaultInstance;
    public static RespNewestAlarm getDefaultInstance() {
      return defaultInstance;
    }

    public RespNewestAlarm getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private RespNewestAlarm(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
                alarms_ = new java.util.ArrayList<msec.monitor.Monitor.Alarm>();
                mutable_bitField0_ |= 0x00000001;
              }
              alarms_.add(input.readMessage(msec.monitor.Monitor.Alarm.PARSER, extensionRegistry));
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
          alarms_ = java.util.Collections.unmodifiableList(alarms_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return msec.monitor.Monitor.internal_static_msec_monitor_RespNewestAlarm_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return msec.monitor.Monitor.internal_static_msec_monitor_RespNewestAlarm_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              msec.monitor.Monitor.RespNewestAlarm.class, msec.monitor.Monitor.RespNewestAlarm.Builder.class);
    }

    public static com.google.protobuf.Parser<RespNewestAlarm> PARSER =
        new com.google.protobuf.AbstractParser<RespNewestAlarm>() {
      public RespNewestAlarm parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new RespNewestAlarm(input, extensionRegistry);
      }
    };

    @java.lang.Override
    public com.google.protobuf.Parser<RespNewestAlarm> getParserForType() {
      return PARSER;
    }

    // repeated .msec.monitor.Alarm alarms = 1;
    public static final int ALARMS_FIELD_NUMBER = 1;
    private java.util.List<msec.monitor.Monitor.Alarm> alarms_;
    /**
     * <code>repeated .msec.monitor.Alarm alarms = 1;</code>
     */
    public java.util.List<msec.monitor.Monitor.Alarm> getAlarmsList() {
      return alarms_;
    }
    /**
     * <code>repeated .msec.monitor.Alarm alarms = 1;</code>
     */
    public java.util.List<? extends msec.monitor.Monitor.AlarmOrBuilder>
        getAlarmsOrBuilderList() {
      return alarms_;
    }
    /**
     * <code>repeated .msec.monitor.Alarm alarms = 1;</code>
     */
    public int getAlarmsCount() {
      return alarms_.size();
    }
    /**
     * <code>repeated .msec.monitor.Alarm alarms = 1;</code>
     */
    public msec.monitor.Monitor.Alarm getAlarms(int index) {
      return alarms_.get(index);
    }
    /**
     * <code>repeated .msec.monitor.Alarm alarms = 1;</code>
     */
    public msec.monitor.Monitor.AlarmOrBuilder getAlarmsOrBuilder(
        int index) {
      return alarms_.get(index);
    }

    private void initFields() {
      alarms_ = java.util.Collections.emptyList();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      for (int i = 0; i < alarms_.size(); i++) {
        output.writeMessage(1, alarms_.get(i));
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      for (int i = 0; i < alarms_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, alarms_.get(i));
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static msec.monitor.Monitor.RespNewestAlarm parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static msec.monitor.Monitor.RespNewestAlarm parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static msec.monitor.Monitor.RespNewestAlarm parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static msec.monitor.Monitor.RespNewestAlarm parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static msec.monitor.Monitor.RespNewestAlarm parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static msec.monitor.Monitor.RespNewestAlarm parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static msec.monitor.Monitor.RespNewestAlarm parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static msec.monitor.Monitor.RespNewestAlarm parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static msec.monitor.Monitor.RespNewestAlarm parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static msec.monitor.Monitor.RespNewestAlarm parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(msec.monitor.Monitor.RespNewestAlarm prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code msec.monitor.RespNewestAlarm}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder>
       implements msec.monitor.Monitor.RespNewestAlarmOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return msec.monitor.Monitor.internal_static_msec_monitor_RespNewestAlarm_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return msec.monitor.Monitor.internal_static_msec_monitor_RespNewestAlarm_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                msec.monitor.Monitor.RespNewestAlarm.class, msec.monitor.Monitor.RespNewestAlarm.Builder.class);
      }

      // Construct using msec.monitor.Monitor.RespNewestAlarm.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getAlarmsFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        if (alarmsBuilder_ == null) {
          alarms_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
        } else {
          alarmsBuilder_.clear();
        }
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return msec.monitor.Monitor.internal_static_msec_monitor_RespNewestAlarm_descriptor;
      }

      public msec.monitor.Monitor.RespNewestAlarm getDefaultInstanceForType() {
        return msec.monitor.Monitor.RespNewestAlarm.getDefaultInstance();
      }

      public msec.monitor.Monitor.RespNewestAlarm build() {
        msec.monitor.Monitor.RespNewestAlarm result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public msec.monitor.Monitor.RespNewestAlarm buildPartial() {
        msec.monitor.Monitor.RespNewestAlarm result = new msec.monitor.Monitor.RespNewestAlarm(this);
        int from_bitField0_ = bitField0_;
        if (alarmsBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001)) {
            alarms_ = java.util.Collections.unmodifiableList(alarms_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.alarms_ = alarms_;
        } else {
          result.alarms_ = alarmsBuilder_.build();
        }
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof msec.monitor.Monitor.RespNewestAlarm) {
          return mergeFrom((msec.monitor.Monitor.RespNewestAlarm)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(msec.monitor.Monitor.RespNewestAlarm other) {
        if (other == msec.monitor.Monitor.RespNewestAlarm.getDefaultInstance()) return this;
        if (alarmsBuilder_ == null) {
          if (!other.alarms_.isEmpty()) {
            if (alarms_.isEmpty()) {
              alarms_ = other.alarms_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureAlarmsIsMutable();
              alarms_.addAll(other.alarms_);
            }
            onChanged();
          }
        } else {
          if (!other.alarms_.isEmpty()) {
            if (alarmsBuilder_.isEmpty()) {
              alarmsBuilder_.dispose();
              alarmsBuilder_ = null;
              alarms_ = other.alarms_;
              bitField0_ = (bitField0_ & ~0x00000001);
              alarmsBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getAlarmsFieldBuilder() : null;
            } else {
              alarmsBuilder_.addAllMessages(other.alarms_);
            }
          }
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        msec.monitor.Monitor.RespNewestAlarm parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (msec.monitor.Monitor.RespNewestAlarm) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // repeated .msec.monitor.Alarm alarms = 1;
      private java.util.List<msec.monitor.Monitor.Alarm> alarms_ =
        java.util.Collections.emptyList();
      private void ensureAlarmsIsMutable() {
        if (!((bitField0_ & 0x00000001) == 0x00000001)) {
          alarms_ = new java.util.ArrayList<msec.monitor.Monitor.Alarm>(alarms_);
          bitField0_ |= 0x00000001;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilder<
          msec.monitor.Monitor.Alarm, msec.monitor.Monitor.Alarm.Builder, msec.monitor.Monitor.AlarmOrBuilder> alarmsBuilder_;

      /**
       * <code>repeated .msec.monitor.Alarm alarms = 1;</code>
       */
      public java.util.List<msec.monitor.Monitor.Alarm> getAlarmsList() {
        if (alarmsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(alarms_);
        } else {
          return alarmsBuilder_.getMessageList();
        }
      }
      /**
       * <code>repeated .msec.monitor.Alarm alarms = 1;</code>
       */
      public int getAlarmsCount() {
        if (alarmsBuilder_ == null) {
          return alarms_.size();
        } else {
          return alarmsBuilder_.getCount();
        }
      }
      /**
       * <code>repeated .msec.monitor.Alarm alarms = 1;</code>
       */
      public msec.monitor.Monitor.Alarm getAlarms(int index) {
        if (alarmsBuilder_ == null) {
          return alarms_.get(index);
        } else {
          return alarmsBuilder_.getMessage(index);
        }
      }
      /**
       * <code>repeated .msec.monitor.Alarm alarms = 1;</code>
       */
      public Builder setAlarms(
          int index, msec.monitor.Monitor.Alarm value) {
        if (alarmsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureAlarmsIsMutable();
          alarms_.set(index, value);
          onChanged();
        } else {
          alarmsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.Alarm alarms = 1;</code>
       */
      public Builder setAlarms(
          int index, msec.monitor.Monitor.Alarm.Builder builderForValue) {
        if (alarmsBuilder_ == null) {
          ensureAlarmsIsMutable();
          alarms_.set(index, builderForValue.build());
          onChanged();
        } else {
          alarmsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.Alarm alarms = 1;</code>
       */
      public Builder addAlarms(msec.monitor.Monitor.Alarm value) {
        if (alarmsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureAlarmsIsMutable();
          alarms_.add(value);
          onChanged();
        } else {
          alarmsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.Alarm alarms = 1;</code>
       */
      public Builder addAlarms(
          int index, msec.monitor.Monitor.Alarm value) {
        if (alarmsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureAlarmsIsMutable();
          alarms_.add(index, value);
          onChanged();
        } else {
          alarmsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.Alarm alarms = 1;</code>
       */
      public Builder addAlarms(
          msec.monitor.Monitor.Alarm.Builder builderForValue) {
        if (alarmsBuilder_ == null) {
          ensureAlarmsIsMutable();
          alarms_.add(builderForValue.build());
          onChanged();
        } else {
          alarmsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.Alarm alarms = 1;</code>
       */
      public Builder addAlarms(
          int index, msec.monitor.Monitor.Alarm.Builder builderForValue) {
        if (alarmsBuilder_ == null) {
          ensureAlarmsIsMutable();
          alarms_.add(index, builderForValue.build());
          onChanged();
        } else {
          alarmsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.Alarm alarms = 1;</code>
       */
      public Builder addAllAlarms(
          java.lang.Iterable<? extends msec.monitor.Monitor.Alarm> values) {
        if (alarmsBuilder_ == null) {
          ensureAlarmsIsMutable();
          super.addAll(values, alarms_);
          onChanged();
        } else {
          alarmsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.Alarm alarms = 1;</code>
       */
      public Builder clearAlarms() {
        if (alarmsBuilder_ == null) {
          alarms_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          alarmsBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.Alarm alarms = 1;</code>
       */
      public Builder removeAlarms(int index) {
        if (alarmsBuilder_ == null) {
          ensureAlarmsIsMutable();
          alarms_.remove(index);
          onChanged();
        } else {
          alarmsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <code>repeated .msec.monitor.Alarm alarms = 1;</code>
       */
      public msec.monitor.Monitor.Alarm.Builder getAlarmsBuilder(
          int index) {
        return getAlarmsFieldBuilder().getBuilder(index);
      }
      /**
       * <code>repeated .msec.monitor.Alarm alarms = 1;</code>
       */
      public msec.monitor.Monitor.AlarmOrBuilder getAlarmsOrBuilder(
          int index) {
        if (alarmsBuilder_ == null) {
          return alarms_.get(index);  } else {
          return alarmsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <code>repeated .msec.monitor.Alarm alarms = 1;</code>
       */
      public java.util.List<? extends msec.monitor.Monitor.AlarmOrBuilder>
           getAlarmsOrBuilderList() {
        if (alarmsBuilder_ != null) {
          return alarmsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(alarms_);
        }
      }
      /**
       * <code>repeated .msec.monitor.Alarm alarms = 1;</code>
       */
      public msec.monitor.Monitor.Alarm.Builder addAlarmsBuilder() {
        return getAlarmsFieldBuilder().addBuilder(
            msec.monitor.Monitor.Alarm.getDefaultInstance());
      }
      /**
       * <code>repeated .msec.monitor.Alarm alarms = 1;</code>
       */
      public msec.monitor.Monitor.Alarm.Builder addAlarmsBuilder(
          int index) {
        return getAlarmsFieldBuilder().addBuilder(
            index, msec.monitor.Monitor.Alarm.getDefaultInstance());
      }
      /**
       * <code>repeated .msec.monitor.Alarm alarms = 1;</code>
       */
      public java.util.List<msec.monitor.Monitor.Alarm.Builder>
           getAlarmsBuilderList() {
        return getAlarmsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          msec.monitor.Monitor.Alarm, msec.monitor.Monitor.Alarm.Builder, msec.monitor.Monitor.AlarmOrBuilder>
          getAlarmsFieldBuilder() {
        if (alarmsBuilder_ == null) {
          alarmsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              msec.monitor.Monitor.Alarm, msec.monitor.Monitor.Alarm.Builder, msec.monitor.Monitor.AlarmOrBuilder>(
                  alarms_,
                  ((bitField0_ & 0x00000001) == 0x00000001),
                  getParentForChildren(),
                  isClean());
          alarms_ = null;
        }
        return alarmsBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:msec.monitor.RespNewestAlarm)
    }

    static {
      defaultInstance = new RespNewestAlarm(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:msec.monitor.RespNewestAlarm)
  }

  public interface ReqDelAlarmOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional string servicename = 1;
    /**
     * <code>optional string servicename = 1;</code>
     */
    boolean hasServicename();
    /**
     * <code>optional string servicename = 1;</code>
     */
    java.lang.String getServicename();
    /**
     * <code>optional string servicename = 1;</code>
     */
    com.google.protobuf.ByteString
        getServicenameBytes();

    // optional string attrname = 2;
    /**
     * <code>optional string attrname = 2;</code>
     */
    boolean hasAttrname();
    /**
     * <code>optional string attrname = 2;</code>
     */
    java.lang.String getAttrname();
    /**
     * <code>optional string attrname = 2;</code>
     */
    com.google.protobuf.ByteString
        getAttrnameBytes();

    // optional .msec.monitor.AlarmType type = 3;
    /**
     * <code>optional .msec.monitor.AlarmType type = 3;</code>
     *
     * <pre>
     *待删除的告警类型
     * </pre>
     */
    boolean hasType();
    /**
     * <code>optional .msec.monitor.AlarmType type = 3;</code>
     *
     * <pre>
     *待删除的告警类型
     * </pre>
     */
    msec.monitor.Monitor.AlarmType getType();

    // optional uint32 day = 4;
    /**
     * <code>optional uint32 day = 4;</code>
     *
     * <pre>
     *待删除告警的日期
     * </pre>
     */
    boolean hasDay();
    /**
     * <code>optional uint32 day = 4;</code>
     *
     * <pre>
     *待删除告警的日期
     * </pre>
     */
    int getDay();

    // optional uint32 time = 5;
    /**
     * <code>optional uint32 time = 5;</code>
     *
     * <pre>
     *待删除告警的最后发生时间
     * </pre>
     */
    boolean hasTime();
    /**
     * <code>optional uint32 time = 5;</code>
     *
     * <pre>
     *待删除告警的最后发生时间
     * </pre>
     */
    int getTime();
  }
  /**
   * Protobuf type {@code msec.monitor.ReqDelAlarm}
   *
   * <pre>
   *删除单日某类收敛告警
   * </pre>
   */
  public static final class ReqDelAlarm extends
      com.google.protobuf.GeneratedMessage
      implements ReqDelAlarmOrBuilder {
    // Use ReqDelAlarm.newBuilder() to construct.
    private ReqDelAlarm(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private ReqDelAlarm(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final ReqDelAlarm defaultInstance;
    public static ReqDelAlarm getDefaultInstance() {
      return defaultInstance;
    }

    public ReqDelAlarm getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private ReqDelAlarm(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              bitField0_ |= 0x00000001;
              servicename_ = input.readBytes();
              break;
            }
            case 18: {
              bitField0_ |= 0x00000002;
              attrname_ = input.readBytes();
              break;
            }
            case 24: {
              int rawValue = input.readEnum();
              msec.monitor.Monitor.AlarmType value = msec.monitor.Monitor.AlarmType.valueOf(rawValue);
              if (value == null) {
                unknownFields.mergeVarintField(3, rawValue);
              } else {
                bitField0_ |= 0x00000004;
                type_ = value;
              }
              break;
            }
            case 32: {
              bitField0_ |= 0x00000008;
              day_ = input.readUInt32();
              break;
            }
            case 40: {
              bitField0_ |= 0x00000010;
              time_ = input.readUInt32();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return msec.monitor.Monitor.internal_static_msec_monitor_ReqDelAlarm_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return msec.monitor.Monitor.internal_static_msec_monitor_ReqDelAlarm_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              msec.monitor.Monitor.ReqDelAlarm.class, msec.monitor.Monitor.ReqDelAlarm.Builder.class);
    }

    public static com.google.protobuf.Parser<ReqDelAlarm> PARSER =
        new com.google.protobuf.AbstractParser<ReqDelAlarm>() {
      public ReqDelAlarm parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new ReqDelAlarm(input, extensionRegistry);
      }
    };

    @java.lang.Override
    public com.google.protobuf.Parser<ReqDelAlarm> getParserForType() {
      return PARSER;
    }

    private int bitField0_;
    // optional string servicename = 1;
    public static final int SERVICENAME_FIELD_NUMBER = 1;
    private java.lang.Object servicename_;
    /**
     * <code>optional string servicename = 1;</code>
     */
    public boolean hasServicename() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>optional string servicename = 1;</code>
     */
    public java.lang.String getServicename() {
      java.lang.Object ref = servicename_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          servicename_ = s;
        }
        return s;
      }
    }
    /**
     * <code>optional string servicename = 1;</code>
     */
    public com.google.protobuf.ByteString
        getServicenameBytes() {
      java.lang.Object ref = servicename_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        servicename_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    // optional string attrname = 2;
    public static final int ATTRNAME_FIELD_NUMBER = 2;
    private java.lang.Object attrname_;
    /**
     * <code>optional string attrname = 2;</code>
     */
    public boolean hasAttrname() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * <code>optional string attrname = 2;</code>
     */
    public java.lang.String getAttrname() {
      java.lang.Object ref = attrname_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          attrname_ = s;
        }
        return s;
      }
    }
    /**
     * <code>optional string attrname = 2;</code>
     */
    public com.google.protobuf.ByteString
        getAttrnameBytes() {
      java.lang.Object ref = attrname_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        attrname_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    // optional .msec.monitor.AlarmType type = 3;
    public static final int TYPE_FIELD_NUMBER = 3;
    private msec.monitor.Monitor.AlarmType type_;
    /**
     * <code>optional .msec.monitor.AlarmType type = 3;</code>
     *
     * <pre>
     *待删除的告警类型
     * </pre>
     */
    public boolean hasType() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * <code>optional .msec.monitor.AlarmType type = 3;</code>
     *
     * <pre>
     *待删除的告警类型
     * </pre>
     */
    public msec.monitor.Monitor.AlarmType getType() {
      return type_;
    }

    // optional uint32 day = 4;
    public static final int DAY_FIELD_NUMBER = 4;
    private int day_;
    /**
     * <code>optional uint32 day = 4;</code>
     *
     * <pre>
     *待删除告警的日期
     * </pre>
     */
    public boolean hasDay() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * <code>optional uint32 day = 4;</code>
     *
     * <pre>
     *待删除告警的日期
     * </pre>
     */
    public int getDay() {
      return day_;
    }

    // optional uint32 time = 5;
    public static final int TIME_FIELD_NUMBER = 5;
    private int time_;
    /**
     * <code>optional uint32 time = 5;</code>
     *
     * <pre>
     *待删除告警的最后发生时间
     * </pre>
     */
    public boolean hasTime() {
      return ((bitField0_ & 0x00000010) == 0x00000010);
    }
    /**
     * <code>optional uint32 time = 5;</code>
     *
     * <pre>
     *待删除告警的最后发生时间
     * </pre>
     */
    public int getTime() {
      return time_;
    }

    private void initFields() {
      servicename_ = "";
      attrname_ = "";
      type_ = msec.monitor.Monitor.AlarmType.ALARM_MAX;
      day_ = 0;
      time_ = 0;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBytes(1, getServicenameBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeBytes(2, getAttrnameBytes());
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeEnum(3, type_.getNumber());
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeUInt32(4, day_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        output.writeUInt32(5, time_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(1, getServicenameBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(2, getAttrnameBytes());
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(3, type_.getNumber());
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(4, day_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(5, time_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static msec.monitor.Monitor.ReqDelAlarm parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static msec.monitor.Monitor.ReqDelAlarm parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static msec.monitor.Monitor.ReqDelAlarm parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static msec.monitor.Monitor.ReqDelAlarm parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static msec.monitor.Monitor.ReqDelAlarm parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static msec.monitor.Monitor.ReqDelAlarm parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static msec.monitor.Monitor.ReqDelAlarm parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static msec.monitor.Monitor.ReqDelAlarm parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static msec.monitor.Monitor.ReqDelAlarm parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static msec.monitor.Monitor.ReqDelAlarm parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(msec.monitor.Monitor.ReqDelAlarm prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code msec.monitor.ReqDelAlarm}
     *
     * <pre>
     *删除单日某类收敛告警
     * </pre>
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder>
       implements msec.monitor.Monitor.ReqDelAlarmOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return msec.monitor.Monitor.internal_static_msec_monitor_ReqDelAlarm_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return msec.monitor.Monitor.internal_static_msec_monitor_ReqDelAlarm_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                msec.monitor.Monitor.ReqDelAlarm.class, msec.monitor.Monitor.ReqDelAlarm.Builder.class);
      }

      // Construct using msec.monitor.Monitor.ReqDelAlarm.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        servicename_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        attrname_ = "";
        bitField0_ = (bitField0_ & ~0x00000002);
        type_ = msec.monitor.Monitor.AlarmType.ALARM_MAX;
        bitField0_ = (bitField0_ & ~0x00000004);
        day_ = 0;
        bitField0_ = (bitField0_ & ~0x00000008);
        time_ = 0;
        bitField0_ = (bitField0_ & ~0x00000010);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return msec.monitor.Monitor.internal_static_msec_monitor_ReqDelAlarm_descriptor;
      }

      public msec.monitor.Monitor.ReqDelAlarm getDefaultInstanceForType() {
        return msec.monitor.Monitor.ReqDelAlarm.getDefaultInstance();
      }

      public msec.monitor.Monitor.ReqDelAlarm build() {
        msec.monitor.Monitor.ReqDelAlarm result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public msec.monitor.Monitor.ReqDelAlarm buildPartial() {
        msec.monitor.Monitor.ReqDelAlarm result = new msec.monitor.Monitor.ReqDelAlarm(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.servicename_ = servicename_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.attrname_ = attrname_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.type_ = type_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        result.day_ = day_;
        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
          to_bitField0_ |= 0x00000010;
        }
        result.time_ = time_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof msec.monitor.Monitor.ReqDelAlarm) {
          return mergeFrom((msec.monitor.Monitor.ReqDelAlarm)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(msec.monitor.Monitor.ReqDelAlarm other) {
        if (other == msec.monitor.Monitor.ReqDelAlarm.getDefaultInstance()) return this;
        if (other.hasServicename()) {
          bitField0_ |= 0x00000001;
          servicename_ = other.servicename_;
          onChanged();
        }
        if (other.hasAttrname()) {
          bitField0_ |= 0x00000002;
          attrname_ = other.attrname_;
          onChanged();
        }
        if (other.hasType()) {
          setType(other.getType());
        }
        if (other.hasDay()) {
          setDay(other.getDay());
        }
        if (other.hasTime()) {
          setTime(other.getTime());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        msec.monitor.Monitor.ReqDelAlarm parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (msec.monitor.Monitor.ReqDelAlarm) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional string servicename = 1;
      private java.lang.Object servicename_ = "";
      /**
       * <code>optional string servicename = 1;</code>
       */
      public boolean hasServicename() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>optional string servicename = 1;</code>
       */
      public java.lang.String getServicename() {
        java.lang.Object ref = servicename_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          servicename_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>optional string servicename = 1;</code>
       */
      public com.google.protobuf.ByteString
          getServicenameBytes() {
        java.lang.Object ref = servicename_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          servicename_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>optional string servicename = 1;</code>
       */
      public Builder setServicename(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        servicename_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional string servicename = 1;</code>
       */
      public Builder clearServicename() {
        bitField0_ = (bitField0_ & ~0x00000001);
        servicename_ = getDefaultInstance().getServicename();
        onChanged();
        return this;
      }
      /**
       * <code>optional string servicename = 1;</code>
       */
      public Builder setServicenameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        servicename_ = value;
        onChanged();
        return this;
      }

      // optional string attrname = 2;
      private java.lang.Object attrname_ = "";
      /**
       * <code>optional string attrname = 2;</code>
       */
      public boolean hasAttrname() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>optional string attrname = 2;</code>
       */
      public java.lang.String getAttrname() {
        java.lang.Object ref = attrname_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          attrname_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>optional string attrname = 2;</code>
       */
      public com.google.protobuf.ByteString
          getAttrnameBytes() {
        java.lang.Object ref = attrname_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          attrname_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>optional string attrname = 2;</code>
       */
      public Builder setAttrname(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        attrname_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional string attrname = 2;</code>
       */
      public Builder clearAttrname() {
        bitField0_ = (bitField0_ & ~0x00000002);
        attrname_ = getDefaultInstance().getAttrname();
        onChanged();
        return this;
      }
      /**
       * <code>optional string attrname = 2;</code>
       */
      public Builder setAttrnameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        attrname_ = value;
        onChanged();
        return this;
      }

      // optional .msec.monitor.AlarmType type = 3;
      private msec.monitor.Monitor.AlarmType type_ = msec.monitor.Monitor.AlarmType.ALARM_MAX;
      /**
       * <code>optional .msec.monitor.AlarmType type = 3;</code>
       *
       * <pre>
       *待删除的告警类型
       * </pre>
       */
      public boolean hasType() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * <code>optional .msec.monitor.AlarmType type = 3;</code>
       *
       * <pre>
       *待删除的告警类型
       * </pre>
       */
      public msec.monitor.Monitor.AlarmType getType() {
        return type_;
      }
      /**
       * <code>optional .msec.monitor.AlarmType type = 3;</code>
       *
       * <pre>
       *待删除的告警类型
       * </pre>
       */
      public Builder setType(msec.monitor.Monitor.AlarmType value) {
        if (value == null) {
          throw new NullPointerException();
        }
        bitField0_ |= 0x00000004;
        type_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional .msec.monitor.AlarmType type = 3;</code>
       *
       * <pre>
       *待删除的告警类型
       * </pre>
       */
      public Builder clearType() {
        bitField0_ = (bitField0_ & ~0x00000004);
        type_ = msec.monitor.Monitor.AlarmType.ALARM_MAX;
        onChanged();
        return this;
      }

      // optional uint32 day = 4;
      private int day_ ;
      /**
       * <code>optional uint32 day = 4;</code>
       *
       * <pre>
       *待删除告警的日期
       * </pre>
       */
      public boolean hasDay() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * <code>optional uint32 day = 4;</code>
       *
       * <pre>
       *待删除告警的日期
       * </pre>
       */
      public int getDay() {
        return day_;
      }
      /**
       * <code>optional uint32 day = 4;</code>
       *
       * <pre>
       *待删除告警的日期
       * </pre>
       */
      public Builder setDay(int value) {
        bitField0_ |= 0x00000008;
        day_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional uint32 day = 4;</code>
       *
       * <pre>
       *待删除告警的日期
       * </pre>
       */
      public Builder clearDay() {
        bitField0_ = (bitField0_ & ~0x00000008);
        day_ = 0;
        onChanged();
        return this;
      }

      // optional uint32 time = 5;
      private int time_ ;
      /**
       * <code>optional uint32 time = 5;</code>
       *
       * <pre>
       *待删除告警的最后发生时间
       * </pre>
       */
      public boolean hasTime() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      /**
       * <code>optional uint32 time = 5;</code>
       *
       * <pre>
       *待删除告警的最后发生时间
       * </pre>
       */
      public int getTime() {
        return time_;
      }
      /**
       * <code>optional uint32 time = 5;</code>
       *
       * <pre>
       *待删除告警的最后发生时间
       * </pre>
       */
      public Builder setTime(int value) {
        bitField0_ |= 0x00000010;
        time_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional uint32 time = 5;</code>
       *
       * <pre>
       *待删除告警的最后发生时间
       * </pre>
       */
      public Builder clearTime() {
        bitField0_ = (bitField0_ & ~0x00000010);
        time_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:msec.monitor.ReqDelAlarm)
    }

    static {
      defaultInstance = new ReqDelAlarm(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:msec.monitor.ReqDelAlarm)
  }

  public interface RespDelAlarmOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional uint32 deleted_rows = 1;
    /**
     * <code>optional uint32 deleted_rows = 1;</code>
     *
     * <pre>
     *实际删除的告警行数
     * </pre>
     */
    boolean hasDeletedRows();
    /**
     * <code>optional uint32 deleted_rows = 1;</code>
     *
     * <pre>
     *实际删除的告警行数
     * </pre>
     */
    int getDeletedRows();
  }
  /**
   * Protobuf type {@code msec.monitor.RespDelAlarm}
   *
   * <pre>
   *通过包头result确认是否成功
   * </pre>
   */
  public static final class RespDelAlarm extends
      com.google.protobuf.GeneratedMessage
      implements RespDelAlarmOrBuilder {
    // Use RespDelAlarm.newBuilder() to construct.
    private RespDelAlarm(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private RespDelAlarm(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final RespDelAlarm defaultInstance;
    public static RespDelAlarm getDefaultInstance() {
      return defaultInstance;
    }

    public RespDelAlarm getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private RespDelAlarm(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              deletedRows_ = input.readUInt32();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return msec.monitor.Monitor.internal_static_msec_monitor_RespDelAlarm_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return msec.monitor.Monitor.internal_static_msec_monitor_RespDelAlarm_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              msec.monitor.Monitor.RespDelAlarm.class, msec.monitor.Monitor.RespDelAlarm.Builder.class);
    }

    public static com.google.protobuf.Parser<RespDelAlarm> PARSER =
        new com.google.protobuf.AbstractParser<RespDelAlarm>() {
      public RespDelAlarm parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new RespDelAlarm(input, extensionRegistry);
      }
    };

    @java.lang.Override
    public com.google.protobuf.Parser<RespDelAlarm> getParserForType() {
      return PARSER;
    }

    private int bitField0_;
    // optional uint32 deleted_rows = 1;
    public static final int DELETED_ROWS_FIELD_NUMBER = 1;
    private int deletedRows_;
    /**
     * <code>optional uint32 deleted_rows = 1;</code>
     *
     * <pre>
     *实际删除的告警行数
     * </pre>
     */
    public boolean hasDeletedRows() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>optional uint32 deleted_rows = 1;</code>
     *
     * <pre>
     *实际删除的告警行数
     * </pre>
     */
    public int getDeletedRows() {
      return deletedRows_;
    }

    private void initFields() {
      deletedRows_ = 0;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeUInt32(1, deletedRows_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(1, deletedRows_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static msec.monitor.Monitor.RespDelAlarm parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static msec.monitor.Monitor.RespDelAlarm parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static msec.monitor.Monitor.RespDelAlarm parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static msec.monitor.Monitor.RespDelAlarm parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static msec.monitor.Monitor.RespDelAlarm parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static msec.monitor.Monitor.RespDelAlarm parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static msec.monitor.Monitor.RespDelAlarm parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static msec.monitor.Monitor.RespDelAlarm parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static msec.monitor.Monitor.RespDelAlarm parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static msec.monitor.Monitor.RespDelAlarm parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(msec.monitor.Monitor.RespDelAlarm prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code msec.monitor.RespDelAlarm}
     *
     * <pre>
     *通过包头result确认是否成功
     * </pre>
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder>
       implements msec.monitor.Monitor.RespDelAlarmOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return msec.monitor.Monitor.internal_static_msec_monitor_RespDelAlarm_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return msec.monitor.Monitor.internal_static_msec_monitor_RespDelAlarm_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                msec.monitor.Monitor.RespDelAlarm.class, msec.monitor.Monitor.RespDelAlarm.Builder.class);
      }

      // Construct using msec.monitor.Monitor.RespDelAlarm.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        deletedRows_ = 0;
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return msec.monitor.Monitor.internal_static_msec_monitor_RespDelAlarm_descriptor;
      }

      public msec.monitor.Monitor.RespDelAlarm getDefaultInstanceForType() {
        return msec.monitor.Monitor.RespDelAlarm.getDefaultInstance();
      }

      public msec.monitor.Monitor.RespDelAlarm build() {
        msec.monitor.Monitor.RespDelAlarm result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public msec.monitor.Monitor.RespDelAlarm buildPartial() {
        msec.monitor.Monitor.RespDelAlarm result = new msec.monitor.Monitor.RespDelAlarm(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.deletedRows_ = deletedRows_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof msec.monitor.Monitor.RespDelAlarm) {
          return mergeFrom((msec.monitor.Monitor.RespDelAlarm)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(msec.monitor.Monitor.RespDelAlarm other) {
        if (other == msec.monitor.Monitor.RespDelAlarm.getDefaultInstance()) return this;
        if (other.hasDeletedRows()) {
          setDeletedRows(other.getDeletedRows());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        msec.monitor.Monitor.RespDelAlarm parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (msec.monitor.Monitor.RespDelAlarm) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional uint32 deleted_rows = 1;
      private int deletedRows_ ;
      /**
       * <code>optional uint32 deleted_rows = 1;</code>
       *
       * <pre>
       *实际删除的告警行数
       * </pre>
       */
      public boolean hasDeletedRows() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>optional uint32 deleted_rows = 1;</code>
       *
       * <pre>
       *实际删除的告警行数
       * </pre>
       */
      public int getDeletedRows() {
        return deletedRows_;
      }
      /**
       * <code>optional uint32 deleted_rows = 1;</code>
       *
       * <pre>
       *实际删除的告警行数
       * </pre>
       */
      public Builder setDeletedRows(int value) {
        bitField0_ |= 0x00000001;
        deletedRows_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional uint32 deleted_rows = 1;</code>
       *
       * <pre>
       *实际删除的告警行数
       * </pre>
       */
      public Builder clearDeletedRows() {
        bitField0_ = (bitField0_ & ~0x00000001);
        deletedRows_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:msec.monitor.RespDelAlarm)
    }

    static {
      defaultInstance = new RespDelAlarm(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:msec.monitor.RespDelAlarm)
  }

  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_msec_monitor_Attr_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_msec_monitor_Attr_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_msec_monitor_ReqReport_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_msec_monitor_ReqReport_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_msec_monitor_RespReport_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_msec_monitor_RespReport_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_msec_monitor_ReqMonitor_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_msec_monitor_ReqMonitor_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_msec_monitor_RespMonitor_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_msec_monitor_RespMonitor_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_msec_monitor_ReqTreeList_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_msec_monitor_ReqTreeList_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_msec_monitor_TreeListInfo_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_msec_monitor_TreeListInfo_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_msec_monitor_RespTreeList_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_msec_monitor_RespTreeList_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_msec_monitor_ReqService_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_msec_monitor_ReqService_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_msec_monitor_AlarmAttr_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_msec_monitor_AlarmAttr_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_msec_monitor_HostData_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_msec_monitor_HostData_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_msec_monitor_RespService_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_msec_monitor_RespService_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_msec_monitor_ReqServiceAttr_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_msec_monitor_ReqServiceAttr_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_msec_monitor_AttrData_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_msec_monitor_AttrData_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_msec_monitor_RespServiceAttr_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_msec_monitor_RespServiceAttr_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_msec_monitor_ReqAttrIP_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_msec_monitor_ReqAttrIP_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_msec_monitor_AttrIPData_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_msec_monitor_AttrIPData_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_msec_monitor_RespAttrIP_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_msec_monitor_RespAttrIP_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_msec_monitor_ReqIP_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_msec_monitor_ReqIP_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_msec_monitor_IPData_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_msec_monitor_IPData_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_msec_monitor_RespIP_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_msec_monitor_RespIP_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_msec_monitor_ReqIPAttr_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_msec_monitor_ReqIPAttr_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_msec_monitor_IPAttrData_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_msec_monitor_IPAttrData_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_msec_monitor_RespIPAttr_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_msec_monitor_RespIPAttr_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_msec_monitor_ReqSetAlarmAttr_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_msec_monitor_ReqSetAlarmAttr_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_msec_monitor_RespSetAlarmAttr_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_msec_monitor_RespSetAlarmAttr_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_msec_monitor_ReqDelAlarmAttr_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_msec_monitor_ReqDelAlarmAttr_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_msec_monitor_RespDelAlarmAttr_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_msec_monitor_RespDelAlarmAttr_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_msec_monitor_ReqNewestAlarm_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_msec_monitor_ReqNewestAlarm_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_msec_monitor_Alarm_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_msec_monitor_Alarm_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_msec_monitor_RespNewestAlarm_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_msec_monitor_RespNewestAlarm_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_msec_monitor_ReqDelAlarm_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_msec_monitor_ReqDelAlarm_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_msec_monitor_RespDelAlarm_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_msec_monitor_RespDelAlarm_fieldAccessorTable;

  public static com.google.protobuf.Descriptors.FileDescriptor
      getDescriptor() {
    return descriptor;
  }
  private static com.google.protobuf.Descriptors.FileDescriptor
      descriptor;
  static {
    java.lang.String[] descriptorData = {
      "\n\rmonitor.proto\022\014msec.monitor\"c\n\004Attr\022\023\n" +
      "\013servicename\030\001 \001(\t\022\020\n\010attrname\030\002 \001(\t\022\016\n\006" +
      "values\030\003 \003(\r\022\022\n\nbegin_time\030\004 \001(\r\022\020\n\010end_" +
      "time\030\005 \001(\r\".\n\tReqReport\022!\n\005attrs\030\001 \003(\0132\022" +
      ".msec.monitor.Attr\"\034\n\nRespReport\022\016\n\006resu" +
      "lt\030\001 \001(\r\"\321\003\n\nReqMonitor\022)\n\007service\030\001 \001(\013" +
      "2\030.msec.monitor.ReqService\0221\n\013serviceatt" +
      "r\030\002 \001(\0132\034.msec.monitor.ReqServiceAttr\022\'\n" +
      "\006attrip\030\003 \001(\0132\027.msec.monitor.ReqAttrIP\022\037" +
      "\n\002ip\030\004 \001(\0132\023.msec.monitor.ReqIP\022\'\n\006ipatt",
      "r\030\005 \001(\0132\027.msec.monitor.ReqIPAttr\022+\n\010tree" +
      "list\030\n \001(\0132\031.msec.monitor.ReqTreeList\0223\n" +
      "\014setalarmattr\030\024 \001(\0132\035.msec.monitor.ReqSe" +
      "tAlarmAttr\0223\n\014delalarmattr\030\025 \001(\0132\035.msec." +
      "monitor.ReqDelAlarmAttr\022.\n\010newalarm\030\026 \001(" +
      "\0132\034.msec.monitor.ReqNewestAlarm\022+\n\010delal" +
      "arm\030\027 \001(\0132\031.msec.monitor.ReqDelAlarm\"\354\003\n" +
      "\013RespMonitor\022\016\n\006result\030\001 \001(\r\022*\n\007service\030" +
      "\002 \001(\0132\031.msec.monitor.RespService\0222\n\013serv" +
      "iceattr\030\003 \001(\0132\035.msec.monitor.RespService",
      "Attr\022(\n\006attrip\030\004 \001(\0132\030.msec.monitor.Resp" +
      "AttrIP\022 \n\002ip\030\005 \001(\0132\024.msec.monitor.RespIP" +
      "\022(\n\006ipattr\030\006 \001(\0132\030.msec.monitor.RespIPAt" +
      "tr\022,\n\010treelist\030\n \001(\0132\032.msec.monitor.Resp" +
      "TreeList\0224\n\014setalarmattr\030\024 \001(\0132\036.msec.mo" +
      "nitor.RespSetAlarmAttr\0224\n\014delalarmattr\030\025" +
      " \001(\0132\036.msec.monitor.RespDelAlarmAttr\022/\n\010" +
      "newalarm\030\026 \001(\0132\035.msec.monitor.RespNewest" +
      "Alarm\022,\n\010delalarm\030\027 \001(\0132\032.msec.monitor.R" +
      "espDelAlarm\"\r\n\013ReqTreeList\"#\n\014TreeListIn",
      "fo\022\023\n\013servicename\030\001 \001(\t\"9\n\014RespTreeList\022" +
      ")\n\005infos\030\001 \003(\0132\032.msec.monitor.TreeListIn" +
      "fo\"/\n\nReqService\022\023\n\013servicename\030\001 \001(\t\022\014\n" +
      "\004days\030\002 \003(\r\"[\n\tAlarmAttr\022\020\n\010attrname\030\001 \001" +
      "(\t\022\013\n\003max\030\002 \001(\r\022\013\n\003min\030\003 \001(\r\022\014\n\004diff\030\004 \001" +
      "(\r\022\024\n\014diff_percent\030\005 \001(\r\"%\n\010HostData\022\n\n\002" +
      "ip\030\001 \001(\t\022\r\n\005ports\030\002 \003(\r\"\201\001\n\013RespService\022" +
      "\021\n\tattrnames\030\001 \003(\t\022\013\n\003ips\030\002 \003(\t\022+\n\nalarm" +
      "attrs\030\003 \003(\0132\027.msec.monitor.AlarmAttr\022%\n\005" +
      "hosts\030\004 \003(\0132\026.msec.monitor.HostData\"F\n\016R",
      "eqServiceAttr\022\023\n\013servicename\030\001 \001(\t\022\021\n\tat" +
      "trnames\030\002 \003(\t\022\014\n\004days\030\003 \003(\r\"9\n\010AttrData\022" +
      "\020\n\010attrname\030\001 \001(\t\022\013\n\003day\030\002 \001(\r\022\016\n\006values" +
      "\030\003 \003(\r\"7\n\017RespServiceAttr\022$\n\004data\030\001 \003(\0132" +
      "\026.msec.monitor.AttrData\"M\n\tReqAttrIP\022\023\n\013" +
      "servicename\030\001 \001(\t\022\020\n\010attrname\030\002 \001(\t\022\013\n\003i" +
      "ps\030\003 \003(\t\022\014\n\004days\030\004 \003(\r\"5\n\nAttrIPData\022\n\n\002" +
      "ip\030\001 \001(\t\022\013\n\003day\030\002 \001(\r\022\016\n\006values\030\003 \003(\r\"4\n" +
      "\nRespAttrIP\022&\n\004data\030\001 \003(\0132\030.msec.monitor" +
      ".AttrIPData\"!\n\005ReqIP\022\n\n\002ip\030\001 \001(\t\022\014\n\004days",
      "\030\002 \003(\r\"0\n\006IPData\022\023\n\013servicename\030\001 \001(\t\022\021\n" +
      "\tattrnames\030\002 \003(\t\",\n\006RespIP\022\"\n\004data\030\001 \003(\013" +
      "2\024.msec.monitor.IPData\"J\n\tReqIPAttr\022\n\n\002i" +
      "p\030\001 \001(\t\022#\n\005attrs\030\002 \003(\0132\024.msec.monitor.IP" +
      "Data\022\014\n\004days\030\003 \003(\r\"P\n\nIPAttrData\022\023\n\013serv" +
      "icename\030\001 \001(\t\022\020\n\010attrname\030\002 \001(\t\022\013\n\003day\030\003" +
      " \001(\r\022\016\n\006values\030\004 \003(\r\"4\n\nRespIPAttr\022&\n\004da" +
      "ta\030\001 \003(\0132\030.msec.monitor.IPAttrData\"v\n\017Re" +
      "qSetAlarmAttr\022\023\n\013servicename\030\001 \001(\t\022\020\n\010at" +
      "trname\030\002 \001(\t\022\013\n\003max\030\003 \001(\r\022\013\n\003min\030\004 \001(\r\022\014",
      "\n\004diff\030\005 \001(\r\022\024\n\014diff_percent\030\006 \001(\r\"\022\n\020Re" +
      "spSetAlarmAttr\"8\n\017ReqDelAlarmAttr\022\023\n\013ser" +
      "vicename\030\001 \001(\t\022\020\n\010attrname\030\002 \001(\t\"(\n\020Resp" +
      "DelAlarmAttr\022\024\n\014deleted_rows\030\001 \001(\r\"2\n\016Re" +
      "qNewestAlarm\022\023\n\013servicename\030\001 \001(\t\022\013\n\003day" +
      "\030\002 \001(\r\"\343\001\n\005Alarm\022\023\n\013servicename\030\001 \001(\t\022\020\n" +
      "\010attrname\030\002 \001(\t\022%\n\004type\030\003 \001(\0162\027.msec.mon" +
      "itor.AlarmType\022\030\n\020first_alarm_time\030\004 \001(\r" +
      "\022\027\n\017last_alarm_time\030\005 \001(\r\022\023\n\013alarm_times" +
      "\030\006 \001(\r\022\022\n\nlast_value\030\007 \001(\r\022\027\n\017last_attr_",
      "value\030\010 \001(\r\022\027\n\017last_diff_value\030\t \001(\r\"6\n\017" +
      "RespNewestAlarm\022#\n\006alarms\030\001 \003(\0132\023.msec.m" +
      "onitor.Alarm\"v\n\013ReqDelAlarm\022\023\n\013servicena" +
      "me\030\001 \001(\t\022\020\n\010attrname\030\002 \001(\t\022%\n\004type\030\003 \001(\016" +
      "2\027.msec.monitor.AlarmType\022\013\n\003day\030\004 \001(\r\022\014" +
      "\n\004time\030\005 \001(\r\"$\n\014RespDelAlarm\022\024\n\014deleted_" +
      "rows\030\001 \001(\r*Q\n\tAlarmType\022\r\n\tALARM_MAX\020\001\022\r" +
      "\n\tALARM_MIN\020\002\022\016\n\nALARM_DIFF\020\003\022\026\n\022ALARM_D" +
      "IFF_PERCENT\020\004"
    };
    com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
      new com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner() {
        public com.google.protobuf.ExtensionRegistry assignDescriptors(
            com.google.protobuf.Descriptors.FileDescriptor root) {
          descriptor = root;
          internal_static_msec_monitor_Attr_descriptor =
            getDescriptor().getMessageTypes().get(0);
          internal_static_msec_monitor_Attr_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_msec_monitor_Attr_descriptor,
              new java.lang.String[] { "Servicename", "Attrname", "Values", "BeginTime", "EndTime", });
          internal_static_msec_monitor_ReqReport_descriptor =
            getDescriptor().getMessageTypes().get(1);
          internal_static_msec_monitor_ReqReport_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_msec_monitor_ReqReport_descriptor,
              new java.lang.String[] { "Attrs", });
          internal_static_msec_monitor_RespReport_descriptor =
            getDescriptor().getMessageTypes().get(2);
          internal_static_msec_monitor_RespReport_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_msec_monitor_RespReport_descriptor,
              new java.lang.String[] { "Result", });
          internal_static_msec_monitor_ReqMonitor_descriptor =
            getDescriptor().getMessageTypes().get(3);
          internal_static_msec_monitor_ReqMonitor_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_msec_monitor_ReqMonitor_descriptor,
              new java.lang.String[] { "Service", "Serviceattr", "Attrip", "Ip", "Ipattr", "Treelist", "Setalarmattr", "Delalarmattr", "Newalarm", "Delalarm", });
          internal_static_msec_monitor_RespMonitor_descriptor =
            getDescriptor().getMessageTypes().get(4);
          internal_static_msec_monitor_RespMonitor_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_msec_monitor_RespMonitor_descriptor,
              new java.lang.String[] { "Result", "Service", "Serviceattr", "Attrip", "Ip", "Ipattr", "Treelist", "Setalarmattr", "Delalarmattr", "Newalarm", "Delalarm", });
          internal_static_msec_monitor_ReqTreeList_descriptor =
            getDescriptor().getMessageTypes().get(5);
          internal_static_msec_monitor_ReqTreeList_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_msec_monitor_ReqTreeList_descriptor,
              new java.lang.String[] { });
          internal_static_msec_monitor_TreeListInfo_descriptor =
            getDescriptor().getMessageTypes().get(6);
          internal_static_msec_monitor_TreeListInfo_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_msec_monitor_TreeListInfo_descriptor,
              new java.lang.String[] { "Servicename", });
          internal_static_msec_monitor_RespTreeList_descriptor =
            getDescriptor().getMessageTypes().get(7);
          internal_static_msec_monitor_RespTreeList_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_msec_monitor_RespTreeList_descriptor,
              new java.lang.String[] { "Infos", });
          internal_static_msec_monitor_ReqService_descriptor =
            getDescriptor().getMessageTypes().get(8);
          internal_static_msec_monitor_ReqService_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_msec_monitor_ReqService_descriptor,
              new java.lang.String[] { "Servicename", "Days", });
          internal_static_msec_monitor_AlarmAttr_descriptor =
            getDescriptor().getMessageTypes().get(9);
          internal_static_msec_monitor_AlarmAttr_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_msec_monitor_AlarmAttr_descriptor,
              new java.lang.String[] { "Attrname", "Max", "Min", "Diff", "DiffPercent", });
          internal_static_msec_monitor_HostData_descriptor =
            getDescriptor().getMessageTypes().get(10);
          internal_static_msec_monitor_HostData_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_msec_monitor_HostData_descriptor,
              new java.lang.String[] { "Ip", "Ports", });
          internal_static_msec_monitor_RespService_descriptor =
            getDescriptor().getMessageTypes().get(11);
          internal_static_msec_monitor_RespService_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_msec_monitor_RespService_descriptor,
              new java.lang.String[] { "Attrnames", "Ips", "Alarmattrs", "Hosts", });
          internal_static_msec_monitor_ReqServiceAttr_descriptor =
            getDescriptor().getMessageTypes().get(12);
          internal_static_msec_monitor_ReqServiceAttr_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_msec_monitor_ReqServiceAttr_descriptor,
              new java.lang.String[] { "Servicename", "Attrnames", "Days", });
          internal_static_msec_monitor_AttrData_descriptor =
            getDescriptor().getMessageTypes().get(13);
          internal_static_msec_monitor_AttrData_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_msec_monitor_AttrData_descriptor,
              new java.lang.String[] { "Attrname", "Day", "Values", });
          internal_static_msec_monitor_RespServiceAttr_descriptor =
            getDescriptor().getMessageTypes().get(14);
          internal_static_msec_monitor_RespServiceAttr_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_msec_monitor_RespServiceAttr_descriptor,
              new java.lang.String[] { "Data", });
          internal_static_msec_monitor_ReqAttrIP_descriptor =
            getDescriptor().getMessageTypes().get(15);
          internal_static_msec_monitor_ReqAttrIP_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_msec_monitor_ReqAttrIP_descriptor,
              new java.lang.String[] { "Servicename", "Attrname", "Ips", "Days", });
          internal_static_msec_monitor_AttrIPData_descriptor =
            getDescriptor().getMessageTypes().get(16);
          internal_static_msec_monitor_AttrIPData_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_msec_monitor_AttrIPData_descriptor,
              new java.lang.String[] { "Ip", "Day", "Values", });
          internal_static_msec_monitor_RespAttrIP_descriptor =
            getDescriptor().getMessageTypes().get(17);
          internal_static_msec_monitor_RespAttrIP_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_msec_monitor_RespAttrIP_descriptor,
              new java.lang.String[] { "Data", });
          internal_static_msec_monitor_ReqIP_descriptor =
            getDescriptor().getMessageTypes().get(18);
          internal_static_msec_monitor_ReqIP_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_msec_monitor_ReqIP_descriptor,
              new java.lang.String[] { "Ip", "Days", });
          internal_static_msec_monitor_IPData_descriptor =
            getDescriptor().getMessageTypes().get(19);
          internal_static_msec_monitor_IPData_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_msec_monitor_IPData_descriptor,
              new java.lang.String[] { "Servicename", "Attrnames", });
          internal_static_msec_monitor_RespIP_descriptor =
            getDescriptor().getMessageTypes().get(20);
          internal_static_msec_monitor_RespIP_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_msec_monitor_RespIP_descriptor,
              new java.lang.String[] { "Data", });
          internal_static_msec_monitor_ReqIPAttr_descriptor =
            getDescriptor().getMessageTypes().get(21);
          internal_static_msec_monitor_ReqIPAttr_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_msec_monitor_ReqIPAttr_descriptor,
              new java.lang.String[] { "Ip", "Attrs", "Days", });
          internal_static_msec_monitor_IPAttrData_descriptor =
            getDescriptor().getMessageTypes().get(22);
          internal_static_msec_monitor_IPAttrData_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_msec_monitor_IPAttrData_descriptor,
              new java.lang.String[] { "Servicename", "Attrname", "Day", "Values", });
          internal_static_msec_monitor_RespIPAttr_descriptor =
            getDescriptor().getMessageTypes().get(23);
          internal_static_msec_monitor_RespIPAttr_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_msec_monitor_RespIPAttr_descriptor,
              new java.lang.String[] { "Data", });
          internal_static_msec_monitor_ReqSetAlarmAttr_descriptor =
            getDescriptor().getMessageTypes().get(24);
          internal_static_msec_monitor_ReqSetAlarmAttr_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_msec_monitor_ReqSetAlarmAttr_descriptor,
              new java.lang.String[] { "Servicename", "Attrname", "Max", "Min", "Diff", "DiffPercent", });
          internal_static_msec_monitor_RespSetAlarmAttr_descriptor =
            getDescriptor().getMessageTypes().get(25);
          internal_static_msec_monitor_RespSetAlarmAttr_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_msec_monitor_RespSetAlarmAttr_descriptor,
              new java.lang.String[] { });
          internal_static_msec_monitor_ReqDelAlarmAttr_descriptor =
            getDescriptor().getMessageTypes().get(26);
          internal_static_msec_monitor_ReqDelAlarmAttr_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_msec_monitor_ReqDelAlarmAttr_descriptor,
              new java.lang.String[] { "Servicename", "Attrname", });
          internal_static_msec_monitor_RespDelAlarmAttr_descriptor =
            getDescriptor().getMessageTypes().get(27);
          internal_static_msec_monitor_RespDelAlarmAttr_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_msec_monitor_RespDelAlarmAttr_descriptor,
              new java.lang.String[] { "DeletedRows", });
          internal_static_msec_monitor_ReqNewestAlarm_descriptor =
            getDescriptor().getMessageTypes().get(28);
          internal_static_msec_monitor_ReqNewestAlarm_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_msec_monitor_ReqNewestAlarm_descriptor,
              new java.lang.String[] { "Servicename", "Day", });
          internal_static_msec_monitor_Alarm_descriptor =
            getDescriptor().getMessageTypes().get(29);
          internal_static_msec_monitor_Alarm_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_msec_monitor_Alarm_descriptor,
              new java.lang.String[] { "Servicename", "Attrname", "Type", "FirstAlarmTime", "LastAlarmTime", "AlarmTimes", "LastValue", "LastAttrValue", "LastDiffValue", });
          internal_static_msec_monitor_RespNewestAlarm_descriptor =
            getDescriptor().getMessageTypes().get(30);
          internal_static_msec_monitor_RespNewestAlarm_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_msec_monitor_RespNewestAlarm_descriptor,
              new java.lang.String[] { "Alarms", });
          internal_static_msec_monitor_ReqDelAlarm_descriptor =
            getDescriptor().getMessageTypes().get(31);
          internal_static_msec_monitor_ReqDelAlarm_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_msec_monitor_ReqDelAlarm_descriptor,
              new java.lang.String[] { "Servicename", "Attrname", "Type", "Day", "Time", });
          internal_static_msec_monitor_RespDelAlarm_descriptor =
            getDescriptor().getMessageTypes().get(32);
          internal_static_msec_monitor_RespDelAlarm_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_msec_monitor_RespDelAlarm_descriptor,
              new java.lang.String[] { "DeletedRows", });
          return null;
        }
      };
    com.google.protobuf.Descriptors.FileDescriptor
      .internalBuildGeneratedFileFrom(descriptorData,
        new com.google.protobuf.Descriptors.FileDescriptor[] {
        }, assigner);
  }

  // @@protoc_insertion_point(outer_class_scope)
}
